WriteBatch class

ชุดการเขียนที่ใช้ในการเขียนหลายรายการเป็นหน่วยอะตอมมิกเดียว

สามารถรับวัตถุ WriteBatch ได้โดยการเรียก writeBatch() . มีวิธีการเพิ่มการเขียนลงในแบตช์การเขียน จะไม่มีการเขียนใด ๆ เกิดขึ้น (หรือมองเห็นได้ในเครื่อง) จนกว่าจะมีการเรียก WriteBatch.commit()

ลายเซ็น:

export declare class WriteBatch 

วิธีการ

วิธี ตัวดัดแปลง คำอธิบาย
ให้สัญญา() คอมมิตการเขียนทั้งหมดในแบตช์การเขียนนี้เป็นหน่วยอะตอมมิกเดียว ผลลัพธ์ของการเขียนเหล่านี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
ลบ(documentRef) ลบเอกสารที่อ้างถึงโดย DocumentReference ที่ให้ไว้ .
ชุด (documentRef, ข้อมูล) เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ให้ไว้ . หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น
ชุด (documentRef, ข้อมูล, ตัวเลือก) เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ให้ไว้ . หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น หากคุณระบุ merge หรือ mergeFields ข้อมูลที่ระบุสามารถผสานเข้ากับเอกสารที่มีอยู่ได้
อัปเดต (documentRef, ข้อมูล) อัปเดตฟิลด์ในเอกสารที่อ้างถึงโดย DocumentReference ที่ให้ไว้ . การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่
อัปเดต (documentRef, ฟิลด์, ค่า, moreFieldsAndValues) อัปเดตฟิลด์ในเอกสารที่อ้างถึงโดย DocumentReference นี้ . การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่ ฟิลด์ที่ซ้อนกันสามารถอัปเดตได้โดยการจัดเตรียมสตริงพาธของฟิลด์ที่คั่นด้วยจุด หรือโดยการจัดเตรียมออบเจ็กต์ FieldPath

WriteBatch.commit()

คอมมิตการเขียนทั้งหมดในแบตช์การเขียนนี้เป็นหน่วยอะตอมมิกเดียว

ผลลัพธ์ของการเขียนเหล่านี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม

ลายเซ็น:

commit(): Promise<void>;

ผลตอบแทน:

สัญญา<โมฆะ>

Promise จะได้รับการแก้ไขเมื่อการเขียนทั้งหมดในแบตช์ถูกเขียนไปยังแบ็กเอนด์เป็นหน่วยอะตอมมิกสำเร็จแล้ว (โปรดทราบว่าจะไม่ได้รับการแก้ไขในขณะที่คุณออฟไลน์)

WriteBatch.ลบ()

ลบเอกสารที่อ้างถึงโดย DocumentReference ที่ให้ไว้ .

ลายเซ็น:

delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เอกสารอ้างอิง เอกสารอ้างอิง <AppModelType, DbModelType> การอ้างอิงถึงเอกสารที่จะลบ

ผลตอบแทน:

เขียนแบทช์

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับการเรียกวิธีการผูกมัด

WriteBatch.set()

เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ให้ไว้ . หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น

ลายเซ็น:

set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เอกสารอ้างอิง เอกสารอ้างอิง <AppModelType, DbModelType> การอ้างอิงถึงเอกสารที่จะตั้งค่า
ข้อมูล ด้วยค่าฟิลด์ <AppModelType> วัตถุของเขตข้อมูลและค่าสำหรับเอกสาร

ผลตอบแทน:

เขียนแบทช์

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับการเรียกวิธีการผูกมัด

WriteBatch.set()

เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ให้ไว้ . หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น หากคุณระบุ merge หรือ mergeFields ข้อมูลที่ให้ไว้สามารถรวมเข้ากับเอกสารที่มีอยู่ได้

ลายเซ็น:

set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): WriteBatch;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เอกสารอ้างอิง เอกสารอ้างอิง <AppModelType, DbModelType> การอ้างอิงถึงเอกสารที่จะตั้งค่า
ข้อมูล บางส่วนด้วยFieldValue <AppModelType> วัตถุของเขตข้อมูลและค่าสำหรับเอกสาร
ตัวเลือก ตั้งค่าตัวเลือก วัตถุเพื่อกำหนดค่าพฤติกรรมการตั้งค่า

ผลตอบแทน:

เขียนแบทช์

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับการเรียกวิธีการผูกมัด

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ระบุไม่ใช่เอกสาร Firestore ที่ถูกต้อง

WriteBatch.อัพเดต()

อัปเดตฟิลด์ในเอกสารที่อ้างถึงโดย DocumentReference ที่ให้ไว้ . การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่

ลายเซ็น:

update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เอกสารอ้างอิง เอกสารอ้างอิง <AppModelType, DbModelType> การอ้างอิงถึงเอกสารที่จะอัปเดต
ข้อมูล อัปเดตข้อมูล <DbModelType> ออบเจ็กต์ที่มีเขตข้อมูลและค่าที่ใช้อัปเดตเอกสาร ช่องต่างๆ สามารถมีจุดเพื่ออ้างอิงช่องที่ซ้อนกันภายในเอกสารได้

ผลตอบแทน:

เขียนแบทช์

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับการเรียกวิธีการผูกมัด

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้มาไม่ใช่ข้อมูล Firestore ที่ถูกต้อง

WriteBatch.อัพเดต()

อัปเดตฟิลด์ในเอกสารที่อ้างถึงโดย DocumentReference นี้ . การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่

ฟิลด์ที่ซ้อนกันสามารถอัปเดตได้โดยการจัดเตรียมสตริงพาธของฟิลด์ที่คั่นด้วยจุด หรือโดยการจัดเตรียมออบเจ็กต์ FieldPath

ลายเซ็น:

update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เอกสารอ้างอิง เอกสารอ้างอิง <AppModelType, DbModelType> การอ้างอิงถึงเอกสารที่จะอัปเดต
สนาม สตริง | FieldPath ช่องแรกที่จะอัพเดต
ค่า ไม่ทราบ ค่าแรก
เพิ่มเติมFieldsAndValues ไม่ทราบ[] คู่ค่าคีย์เพิ่มเติม

ผลตอบแทน:

เขียนแบทช์

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับการเรียกวิธีการผูกมัด

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้มาไม่ใช่ข้อมูล Firestore ที่ถูกต้อง