یک دسته نوشتن که برای انجام چندین نوشتن به عنوان یک واحد اتمی استفاده می شود.
یک شی WriteBatch
را می توان با فراخوانی writeBatch() به دست آورد. . روش هایی را برای افزودن نوشته ها به دسته نوشتن ارائه می کند. تا زمانی که WriteBatch.commit() فراخوانی نشود، هیچ یک از نوشته ها متعهد (یا به صورت محلی قابل مشاهده) نخواهد بود.
امضا:
export declare class WriteBatch
مواد و روش ها
روش | اصلاح کننده ها | شرح |
---|---|---|
مرتکب شدن() | تمام نوشته های این دسته نوشتن را به عنوان یک واحد اتمی تکی انجام می دهد. نتیجه این نوشتنها فقط در خواندن سند که پس از رفع قول برگشتی رخ میدهد، منعکس میشود. اگر مشتری آفلاین باشد، نوشتن ناموفق است. اگر میخواهید تغییرات محلی یا نوشتههای بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید. | |
حذف (documentRef) | سند ارجاع شده توسط DocumentReference ارائه شده را حذف می کند . | |
مجموعه (documentRef، داده) | در سند ارجاع شده توسط DocumentReference ارائه شده می نویسد . اگر سند هنوز وجود نداشته باشد، ایجاد می شود. | |
مجموعه (documentRef، داده ها، گزینه ها) | در سند ارجاع شده توسط DocumentReference ارائه شده می نویسد . اگر سند هنوز وجود نداشته باشد، ایجاد می شود. اگر فیلدهای merge یا mergeFields ارائه دهید، داده های ارائه شده را می توان در یک سند موجود ادغام کرد. | |
به روز رسانی (documentRef، داده ها) | فیلدهای سندی را که توسط DocumentReference ارائه شده به آن ارجاع داده شده به روز می کند . اگر بر روی سندی که وجود ندارد اعمال شود، بهروزرسانی ناموفق خواهد بود. | |
به روز رسانی (documentRef، فیلد، مقدار، بیشترFieldsAndValues) | فیلدهای سندی را که توسط این DocumentReference به آن ارجاع شده است به روز می کند . اگر بر روی سندی که وجود ندارد اعمال شود، بهروزرسانی ناموفق خواهد بود. فیلدهای تودرتو را می توان با ارائه رشته های مسیر میدان جدا شده با نقطه یا با ارائه اشیاء FieldPath به روز کرد. |
WriteBatch.commit()
تمام نوشته های این دسته نوشتن را به عنوان یک واحد اتمی تکی انجام می دهد.
نتیجه این نوشتنها فقط در خواندن سند که پس از رفع قول برگشتی رخ میدهد، منعکس میشود. اگر مشتری آفلاین باشد، نوشتن با شکست مواجه می شود. اگر میخواهید تغییرات محلی یا نوشتههای بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
امضا:
commit(): Promise<void>;
برمی گرداند:
قول<باطل>
یک Promise
زمانی حل میشود که تمام نوشتههای دستهای با موفقیت در پشتیبان به عنوان یک واحد اتمی نوشته شوند (توجه داشته باشید که وقتی آفلاین هستید حل نمیشود).
WriteBatch.delete()
سند ارجاع شده توسط DocumentReference ارائه شده را حذف می کند .
امضا:
delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
documentRef | مرجع سند <AppModelType، DbModelType> | ارجاع به سندی که باید حذف شود. |
برمی گرداند:
این نمونه WriteBatch
. برای زنجیر کردن تماس های متد استفاده می شود.
WriteBatch.set()
در سند ارجاع شده توسط DocumentReference ارائه شده می نویسد . اگر سند هنوز وجود نداشته باشد، ایجاد می شود.
امضا:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
documentRef | مرجع سند <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;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
documentRef | مرجع سند <AppModelType، DbModelType> | ارجاع به سندی که باید تنظیم شود. |
داده ها | PartialWithFieldValue <AppModelType> | یک شی از فیلدها و مقادیر برای سند. |
گزینه ها | SetOptions | یک شی برای پیکربندی رفتار مجموعه. |
برمی گرداند:
این نمونه WriteBatch
. برای زنجیر کردن تماس های متد استفاده می شود.
استثناها
خطا - اگر ورودی ارائه شده یک سند Firestore معتبر نباشد.
WriteBatch.update()
فیلدهای سندی را که توسط DocumentReference ارائه شده به آن ارجاع داده شده به روز می کند . اگر بر روی سندی که وجود ندارد اعمال شود، بهروزرسانی ناموفق خواهد بود.
امضا:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
documentRef | مرجع سند <AppModelType، DbModelType> | ارجاع به سندی که باید به روز شود. |
داده ها | بروزرسانی اطلاعات <DbModelType> | یک شی حاوی فیلدها و مقادیری است که سند را با آن به روز می کند. فیلدها می توانند حاوی نقطه هایی برای ارجاع به فیلدهای تو در تو در سند باشند. |
برمی گرداند:
این نمونه WriteBatch
. برای زنجیر کردن تماس های متد استفاده می شود.
استثناها
خطا - اگر ورودی ارائه شده، داده Firestore معتبر نباشد.
WriteBatch.update()
فیلدهای سندی را که توسط این DocumentReference به آن ارجاع شده است به روز می کند . اگر بر روی سندی که وجود ندارد اعمال شود، بهروزرسانی ناموفق خواهد بود.
فیلدهای تودرتو را می توان با ارائه رشته های مسیر میدان جدا شده با نقطه یا با ارائه اشیاء FieldPath
به روز کرد.
امضا:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
documentRef | مرجع سند <AppModelType، DbModelType> | ارجاع به سندی که باید به روز شود. |
رشته | رشته | FieldPath | اولین فیلد برای به روز رسانی. |
ارزش | ناشناخته | اولین مقدار. |
MoreFieldsAndValues | ناشناخته[] | جفت ارزش کلید اضافی. |
برمی گرداند:
این نمونه WriteBatch
. برای زنجیره ای کردن تماس های متد استفاده می شود.
استثناها
خطا - اگر ورودی ارائه شده، داده Firestore معتبر نباشد.