WriteBatch class

ชุดการเขียนซึ่งใช้เพื่อดำเนินการเขียนหลายรายการเป็นหน่วยอะตอมหน่วยเดียว

คุณจะรับออบเจ็กต์ 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 นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด

WriteBatch.set()

เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ระบบจะสร้างเอกสารหากยังไม่มี

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ข้อมูลอ้างอิงเอกสาร DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะตั้งค่า
ข้อมูล WithFieldValue<AppModelType> ออบเจ็กต์ของช่องและค่าสำหรับเอกสาร

การคืนสินค้า:

WriteBatch

อินสแตนซ์ 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

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด

ข้อยกเว้น

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

WriteBatch.update()

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

ลายเซ็น:

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

พารามิเตอร์

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

การคืนสินค้า:

WriteBatch

อินสแตนซ์ 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

อินสแตนซ์ WriteBatch นี้ ใช้สำหรับเชื่อมโยงการเรียกใช้เมธอด

ข้อยกเว้น

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