ชุดการเขียนซึ่งใช้เพื่อดำเนินการเขียนหลายรายการเป็นหน่วยอะตอมหน่วยเดียว
คุณจะรับออบเจ็กต์ WriteBatch
ได้โดยการเรียกใช้ writeBatch() ซึ่งจะบอกวิธีการเพิ่มการเขียนลงในกลุ่มการเขียน ระบบจะไม่คอมมิตการเขียน (หรือมองเห็นได้ในเครื่อง) จนกว่าจะมีการเรียกใช้ WriteBatch.commit()
ลายเซ็น:
export declare class WriteBatch
เมธอด
วิธีการ | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
commit() | รวมการเขียนทั้งหมดในกลุ่มการเขียนนี้เป็นหน่วยอะตอมเดียวผลลัพธ์ของการเขียนเหล่านี้จะปรากฏในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งกลับมาเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การเขียนจะล้มเหลว หากต้องการดูการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม | |
delete(documentRef) | ลบเอกสารที่อ้างอิงโดย Document Reference ที่ระบุ | |
set(documentRef, ข้อมูล) | เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ระบบจะสร้างเอกสารหากยังไม่มี | |
set(documentRef, data, options) | เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ระบบจะสร้างเอกสารหากยังไม่มี หากคุณระบุ merge หรือ mergeFields คุณจะรวมข้อมูลที่ระบุเข้ากับเอกสารที่มีอยู่ได้ |
|
update(documentRef, ข้อมูล) | อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่ | |
update(documentRef, Field, value, moreFieldsAndValues) | อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference การอัปเดตจะไม่สำเร็จหากนำไปใช้กับเอกสารที่ไม่มีอยู่คุณอัปเดตช่องที่ซ้อนกันได้โดยการระบุสตริงเส้นทางช่องที่คั่นด้วยจุด หรือระบุออบเจ็กต์ FieldPath |
WriteBatch.commit()
รวมการเขียนทั้งหมดในแบตช์การเขียนนี้เป็นหน่วยอะตอมเดียว
ผลลัพธ์ของการเขียนเหล่านี้จะแสดงเฉพาะในการอ่านเอกสารที่เกิดขึ้นหลังจากแก้ไขปัญหาสัญญาที่แสดงผลแล้ว หากไคลเอ็นต์ออฟไลน์อยู่ การเขียนจะล้มเหลว หากต้องการดูการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
ลายเซ็น:
commit(): Promise<void>;
การคืนสินค้า:
คำสัญญา<โมฆะ>
Promise
ได้รับการแก้ไขเมื่อการเขียนทั้งหมดในกลุ่มเขียนไปยังแบ็กเอนด์เป็นหน่วยระดับอะตอมได้สำเร็จ (โปรดทราบว่าปัญหานี้จะไม่แก้ไขขณะที่คุณออฟไลน์)
WriteBatch.delete()
ลบเอกสารที่อ้างอิงโดย Document Reference ที่ระบุ
ลายเซ็น:
delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ข้อมูลอ้างอิงเอกสาร | DocumentReference<AppModelType, DbModelType> | การอ้างอิงเอกสารที่จะถูกลบ |
การคืนสินค้า:
อินสแตนซ์ WriteBatch
นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด
WriteBatch.set()
เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ระบบจะสร้างเอกสารหากยังไม่มี
ลายเซ็น:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ข้อมูลอ้างอิงเอกสาร | DocumentReference<AppModelType, DbModelType> | การอ้างอิงเอกสารที่จะตั้งค่า |
ข้อมูล | WithFieldValue<AppModelType> | ออบเจ็กต์ของช่องและค่าสำหรับเอกสาร |
การคืนสินค้า:
อินสแตนซ์ WriteBatch
นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด
WriteBatch.set()
เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ระบบจะสร้างเอกสารหากยังไม่มี หากคุณระบุ merge
หรือ mergeFields
คุณจะรวมข้อมูลที่ระบุเข้ากับเอกสารที่มีอยู่ได้
ลายเซ็น:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): WriteBatch;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ข้อมูลอ้างอิงเอกสาร | DocumentReference<AppModelType, DbModelType> | การอ้างอิงเอกสารที่จะตั้งค่า |
ข้อมูล | บางส่วนของWithFieldValue<AppModelType> | ออบเจ็กต์ของช่องและค่าสำหรับเอกสาร |
ตัวเลือก | SetOptions | ออบเจ็กต์สำหรับกำหนดค่าพฤติกรรมของเซ็ต |
การคืนสินค้า:
อินสแตนซ์ WriteBatch
นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด
ข้อยกเว้น
ข้อผิดพลาด - หากอินพุตที่ระบุไม่ใช่เอกสาร Firestore ที่ถูกต้อง
WriteBatch.update()
อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่
ลายเซ็น:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ข้อมูลอ้างอิงเอกสาร | DocumentReference<AppModelType, DbModelType> | การอ้างอิงเอกสารที่จะอัปเดต |
ข้อมูล | UpdateData<DbModelType> | ออบเจ็กต์ที่มีช่องและค่าที่จะอัปเดตเอกสาร ช่องอาจมีจุดเพื่ออ้างอิงช่องที่ซ้อนกันภายในเอกสารได้ |
การคืนสินค้า:
อินสแตนซ์ WriteBatch
นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด
ข้อยกเว้น
ข้อผิดพลาด - หากอินพุตที่ระบุเป็นข้อมูล Firestore ที่ไม่ถูกต้อง
WriteBatch.update()
อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่
คุณอัปเดตช่องที่ซ้อนกันได้โดยการระบุสตริงเส้นทางช่องที่มีจุดคั่นด้วยจุด หรือระบุออบเจ็กต์ FieldPath
ลายเซ็น:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ข้อมูลอ้างอิงเอกสาร | DocumentReference<AppModelType, DbModelType> | การอ้างอิงเอกสารที่จะอัปเดต |
พื้นที่ | สตริง | FieldPath | ช่องแรกที่จะอัปเดต |
value | ไม่ทราบ | ค่าแรก |
moreFieldsAndValues | ไม่ทราบ[] | คู่คีย์-ค่าเพิ่มเติม |
การคืนสินค้า:
อินสแตนซ์ WriteBatch
นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด
ข้อยกเว้น
ข้อผิดพลาด - หากอินพุตที่ระบุเป็นข้อมูล Firestore ที่ไม่ถูกต้อง