يشير ذلك المصطلح إلى دفعة كتابة تُستخدم لإجراء عمليات كتابة متعددة كوحدة ذرية واحدة.
يمكن الحصول على كائن WriteBatch
من خلال استدعاء writeBatch(). يوفر طرقًا لإضافة عمليات كتابة إلى دفعة الكتابة. لن يتم تنفيذ أي من عمليات الكتابة (أو مرئية محليًا) حتى يتم استدعاء WriteBatch.commit().
Signature:
export declare class WriteBatch
الطُرق
الطريقة | المعدِّلات | الوصف |
---|---|---|
commit() | تنفيذ جميع عمليات الكتابة في دفعة الكتابة هذه كوحدة بسيطة واحدة.لن تنعكس نتيجة عمليات الكتابة هذه إلا في عمليات قراءة المستند التي تحدث بعد انتهاء الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore. | |
delete(documentref) | يؤدي هذا الإجراء إلى حذف المستند المُشار إليه في DocumentReference المقدَّم. | |
set(documentref, data) | تتم الكتابة على المستند المُشار إليه في DocumentReference المقدَّم. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. | |
set(documentref, data, options) | تتم الكتابة على المستند المُشار إليه في DocumentReference المقدَّم. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. في حال تقديم merge أو mergeFields ، يمكن دمج البيانات المقدَّمة في مستند حالي. |
|
update(documentref, data) | لتعديل الحقول في المستند المُشار إليه في DocumentReference المقدَّم. سيتعذر التعديل في حال تطبيقه على مستند غير موجود. | |
update(documentref, field, value, moreFieldsAndValues) | لتعديل الحقول في المستند المُشار إليه في DocumentReference هذا. سيتعذّر التعديل إذا تم تطبيقه على مستند غير متوفّر.يمكن تعديل الحقول المتداخلة من خلال توفير سلاسل مسارات حقول مفصولة بالنقاط أو من خلال توفير عناصر FieldPath . |
WriteBatch.commit()
تنفيذ جميع عمليات الكتابة في دفعة الكتابة هذه كوحدة ذرية واحدة
ستنعكس نتيجة عمليات الكتابة هذه فقط في قراءات المستند التي تحدث بعد انتهاء الوعد العائد. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
Signature:
commit(): Promise<void>;
المرتجعات:
وعود <باطلة>
تم حلّ Promise
بعد كتابة جميع عمليات الكتابة في الدُفعة بنجاح في الخلفية كوحدة ذرية (يُرجى العلم أنّه لن يتم حل المشكلة أثناء عدم الاتصال بالإنترنت).
WriteBatch.delete()
يؤدي هذا الإجراء إلى حذف المستند المُشار إليه في DocumentReference المقدَّم.
Signature:
delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مرجع المستند | DocumentReference <AppModelType, DbModelType> | مرجع للمستند المطلوب حذفه |
المرتجعات:
مثال WriteBatch
هذا تُستخدَم في تسلسل استدعاءات طرق الدفع.
WriteBatch.set()
تتم الكتابة على المستند المُشار إليه في DocumentReference المقدَّم. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه.
Signature:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مرجع المستند | DocumentReference <AppModelType, DbModelType> | مرجع للمستند الذي سيتم تعيينه. |
البيانات | WithFieldValue <AppModelType> | تمثّل هذه السمة كائنًا من الحقول والقيم في المستند. |
المرتجعات:
مثال WriteBatch
هذا تُستخدَم في تسلسل استدعاءات طرق الدفع.
WriteBatch.set()
تتم الكتابة على المستند المُشار إليه في DocumentReference المقدَّم. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. في حال تقديم merge
أو mergeFields
، يمكن دمج البيانات المقدَّمة في مستند حالي.
Signature:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): WriteBatch;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مرجع المستند | DocumentReference <AppModelType, DbModelType> | مرجع للمستند الذي سيتم تعيينه. |
البيانات | Partial withFieldValue <AppModelType> | تمثّل هذه السمة كائنًا من الحقول والقيم في المستند. |
خيارات | SetOptions | كائن لضبط السلوك المحدّد |
المرتجعات:
مثال WriteBatch
هذا تُستخدَم في تسلسل استدعاءات طرق الدفع.
الاستثناءات
خطأ - إذا لم يكن الإدخال الذي تم تقديمه مستندًا صالحًا على Firestore.
WriteBatch.update()
لتعديل الحقول في المستند المُشار إليه في DocumentReference المقدَّم. سيتعذر التعديل في حال تطبيقه على مستند غير موجود.
Signature:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مرجع المستند | DocumentReference <AppModelType, DbModelType> | مرجع للمستند المطلوب تعديله. |
البيانات | UpdateData<DbModelType> | كائن يحتوي على الحقول والقيم المطلوب تعديل المستند باستخدامها يمكن أن تحتوي الحقول على نقاط للإشارة إلى حقول متداخلة داخل المستند. |
المرتجعات:
مثال WriteBatch
هذا تُستخدَم في تسلسل استدعاءات طرق الدفع.
الاستثناءات
خطأ - إذا لم يكن الإدخال المقدم بيانات Firestore صالحة.
WriteBatch.update()
لتعديل الحقول في المستند المُشار إليه في DocumentReference هذا. سيتعذر التعديل في حال تطبيقه على مستند غير موجود.
يمكن تعديل الحقول المتداخلة من خلال توفير سلاسل مسارات حقول مفصولة بالنقاط أو من خلال توفير عناصر FieldPath
.
Signature:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مرجع المستند | DocumentReference <AppModelType, DbModelType> | مرجع للمستند المطلوب تعديله. |
الحقل | سلسلة | FieldPath | الحقل الأول المطلوب تعديله. |
القيمة | غير معروف | القيمة الأولى. |
المزيد من الحقول والقيم | غير معروف[] | أزواج إضافية من قيم المفاتيح |
المرتجعات:
مثال WriteBatch
هذا تُستخدَم في تسلسل استدعاءات طرق الدفع.
الاستثناءات
خطأ - إذا لم يكن الإدخال المقدم بيانات Firestore صالحة.