@firebase/firestore/lite

الدوال

دالة الوصف
الدالّة(app, ...)
getFirestore(app) تعرض هذه البيانات مثيل Firestore التلقائي الحالي المرتبط بتطبيق FirebaseApp المقدَّم. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.
getFirestore(app, DatabaseId) (إصدار تجريبي) تعرض مثيل Firestore الحالي المرتبط بـ FirebaseApp المقدَّم. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.
تهيئةFirestore(التطبيق، الإعدادات) يتم إعداد مثيل جديد من Cloud Firestore باستخدام الإعدادات المتوفّرة. لا يمكن طلبها إلا قبل أي دوال أخرى، بما في ذلك getFirestore(). إذا كانت الإعدادات المخصّصة فارغة، تكون هذه الدالة مكافئة لاستدعاء getFirestore().
تهيئةFirestore(التطبيق، الإعدادات، قاعدة البيانات) (إصدار تجريبي) يتم إعداد مثيل جديد من Cloud Firestore باستخدام الإعدادات المتوفّرة. لا يمكن طلبها إلا قبل أي دوال أخرى، بما في ذلك getFirestore(). إذا كانت الإعدادات المخصّصة فارغة، تكون هذه الدالة مكافئة لاستدعاء getFirestore().
الدالّة(firestore, ...)
collection(firestore, path, pathSegments) تحصل على مثيل CollectionReference يشير إلى المجموعة في المسار المطلق المحدّد.
collectionGroup(firestore, collectionsId) تنشئ هذه الدالة نسخة جديدة من Query وتعرضها، وهي تتضمّن جميع المستندات في قاعدة البيانات المضمّنة في مجموعة أو مجموعة فرعية ذات قيمة collectionId المحدّدة.
connectFirestoreEmulator(مخزن النار، والمضيف، والمنفذ، والخيارات) يمكنك تعديل هذا المثيل للاتصال بمحاكي Cloud Firestore.ملاحظة: يجب طلب ذلك قبل استخدام هذا المثيل لإجراء أي عمليات.
doc(firestore, path, pathSegments) الحصول على مثال DocumentReference يشير إلى المستند في المسار المطلق المحدّد.
runtransaction(firestore, updateFunction, options) يتم تنفيذ updateFunction المحدَّد ثم محاولة تنفيذ التغييرات المُطبَّقة ضمن المعاملة. في حال تغيير أي مستند مقروء ضمن المعاملة، يُعيد Cloud Firestore محاولة استخدام updateFunction. يتعذّر إتمام المعاملة إذا تعذّر إكمالها بعد 5 محاولات.الحد الأقصى لعدد عمليات الكتابة المسموح بها في المعاملة الواحدة هو 500.
terminate(firestore) لإنهاء مثيل Firestore المقدَّم.بعد استدعاء terminate()، قد يتم استخدام الدوال clearIndexedDbPersistence() فقط. ستعرض أي دالة أخرى الخطأ FirestoreError. لا تؤدي عملية الإنهاء إلى إلغاء أي عمليات كتابة معلَّقة، ولن يتم التعامل بشكل نهائي مع أي وعود كانت في انتظار ردّ من الخادم.لإعادة التشغيل بعد الإنهاء، يمكنك إنشاء مثيل جديد من Firestore باستخدام getFirestore().ملاحظة: في الظروف العادية، لا يلزم الاتصال بـ terminate(). تكون هذه الدالة مفيدة فقط عندما تريد فرض هذا المثيل لإصدار جميع موارده أو مع clearIndexedDbPersistence() لضمان تدمير جميع الحالات المحلية بين عمليات الاختبار.
writeBatch(firestore) تنشئ هذه الدالة دفعة كتابة، وتُستخدم لإجراء عمليات كتابة متعددة كعملية بسيطة واحدة. يبلغ الحد الأقصى لعدد عمليات الكتابة المسموح بها في مجموعة WriteBatch واحدة 500.لن تنعكس نتيجة عمليات الكتابة هذه إلا في عمليات قراءة المستندات التي تتم بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
دالّة()
count() إنشاء كائن AggregateField يمكن استخدامه لحساب عدد المستندات في مجموعة نتائج طلب البحث.
deleteField() تعرض رسالة مُرسلة للاستخدام مع updateDoc() أو setDoc() مع {merge: true} لتمييز حقل للحذف.
documentId() تعرض رسالة حارس خاصة FieldPath للإشارة إلى معرِّف مستند. ويمكن استخدامه في الاستعلامات للفرز أو التصفية حسب معرّف المستند.
getFirestore() تعرض هذه البيانات مثيل Firestore التلقائي الحالي المرتبط بتطبيق FirebaseApp التلقائي. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.
serverTimestamp() تعرض رسالة مُرسلة يتم استخدامها مع setDoc() أو updateDoc() لتضمين طابع زمني ينشئه الخادم في البيانات المكتوبة.
الدالّة(databaseId, ...)
getFirestore(databaseId) (إصدار تجريبي) تعرض مثيل Firestore الحالي المرتبط بتطبيق FirebaseApp التلقائي. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.
الدالة(elements, ...)
arrayRemove(elements) (عناصر) تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو تطلب من الخادم إزالة العناصر المحدّدة من أي قيمة مصفوفة متوفّرة على الخادم. ستتم إزالة جميع مثيلات كل عنصر محدد من المصفوفة. إذا لم يكن الحقل الذي يتم تعديله مصفوفة من قبل، سيتم استبداله بصفيف فارغ.
arrayUnion(العناصر) تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() تخبر الخادم بتوحيد العناصر المحددة مع أي قيمة صفيف موجودة على الخادم. ستتم إضافة كل عنصر محدد غير موجود في الصفيف إلى النهاية. إذا لم يكن الحقل الذي يتم تعديله مصفوفة من قبل، فسيتم استبداله بصفيف يحتوي على العناصر المحددة بالضبط.
الدالة(field, ...)
المتوسط(الحقل) يمكنك إنشاء كائن AggregateField يمكن استخدامه لحساب متوسط حقل محدَّد على نطاق من المستندات في مجموعة نتائج طلب البحث.
sum(field) إنشاء كائن AggregateField يمكن استخدامه لحساب مجموع حقل محدد عبر نطاق من المستندات في مجموعة نتائج طلب البحث.
الدالّة(fieldPath, ...)
orderBy(fieldPath, directStr) تنشئ QueryOrderByConstraint نتائج طلب البحث حسب الحقل المحدد، اختياريًا بترتيب تنازلي بدلاً من تصاعدي.ملاحظة: لن تكون المستندات التي لا تحتوي على الحقل المحدد موجودة في نتيجة طلب البحث.
where(fieldPath, opStr, value) تنشئ هذه السياسة QueryFieldFilterConstraint التي تفرض ضرورة أن تحتوي المستندات على الحقل المحدّد وأن القيمة يجب أن تستوفي قيد العلاقة المتوفّر.
الدالّة(fieldValues, ...)
endAt(fieldValues) تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي عند الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.
endBefore(fieldValues) تنشئ هذه الدالة QueryEndAtConstraint تعديلاً لمجموعة النتائج بحيث تنتهي قبل الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.
startafter(fieldValues) تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء بعد الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.
startAt(fieldValues) تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء من الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.
الدالة(left, ...)
CompFieldEqual(left, right) لمقارنة حالتين من "AggregateField" للمساواة.
AggregateQuerySnapshotEqual(left, right) تتم المقارنة بين مثالين AggregateQuerySnapshot للمساواة.يتم اعتبار مثيلين من AggregateQuerySnapshot "متساويتين". إذا كانت تضم استعلامات أساسية تقارن بينها، ونفس البيانات.
queryEqual(left, right) تعرض القيمة "صحيح" إذا كانت طلبات البحث المقدّمة تشير إلى المجموعة نفسها وتطبّق القيود نفسها.
refEqual(left, right) يتم عرض true إذا كانت المراجع المقدّمة متساوية.
snapshotEqual(left, right) يتم عرض true إذا كانت اللقطات التي تم تقديمها متساوية.
الدالّة(limit, ...)
الحد الأقصى(الحد الأقصى) تنشئ هذه الدالة QuerylimitedConstraint التي تعرض فقط المستندات الأولى المطابقة.
limitToLast(limit) تنشئ هذه الدالة QueryLimitConstraint التي تعرض آخر المستندات المطابقة فقط.يجب تحديد عبارة orderBy واحدة على الأقل لطلبات بحث limitToLast، وإلا سيتم طرح استثناء أثناء التنفيذ.
function(logLevel, ...)
setLogLevel(logLevel) تضبط هذه السياسة مستوى الإسهاب في سجلّات Cloud Firestore (تصحيح الأخطاء أو الأخطاء أو الصامت).
الدالة(n, ...)
تزايد(n) تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() لإعلام الخادم بزيادة القيمة الحالية للحقل بالقيمة المحددة.إذا كان المعامل أو قيمة الحقل الحالية تستخدم دقة النقطة العائمة، تتبع كل العمليات الحسابية دلالات IEEE 754. في حال كانت كلتا القيمتان أعداد صحيحة، تكون القيم خارج نطاق الأرقام الآمنة في JavaScript (من Number.MIN_SAFE_INTEGER إلى Number.MAX_SAFE_INTEGER) عرضة لفقدان الدقة أيضًا. بالإضافة إلى ذلك، بعد المعالجة باستخدام الواجهة الخلفية لـ Firestore، يتم وضع حدّ أقصى لجميع عمليات الأعداد الصحيحة بين -2^63 و 2^63-1.إذا لم تكن قيمة الحقل الحالية من النوع number، أو إذا لم يكن الحقل متوفّرًا بعد، يضبط التحويل الحقل على القيمة المحدَّدة.
دالة(query, ...)
getAggregate(query, AggregateSpec) لحساب التجميعات المحددة على المستندات في مجموعة نتائج طلب البحث المحدّد بدون تنزيل المستندات فعليًا.يُعد استخدام هذه الدالة لتنفيذ عمليات التجميع أمرًا فعّالاً لأنّ قيم التجميع النهائية فقط وليس المستندات" البيانات. ويمكن لهذه الدالة تنفيذ تجميعات للمستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة لدرجة تمنع تنزيلها بالكامل (آلاف المستندات).
getCount(query) لحساب عدد المستندات في مجموعة النتائج للاستعلام المحدد بدون تنزيل المستندات فعليًا.يكون استخدام هذه الدالة لحساب المستندات فعالة لأن العدد النهائي فقط وليس المستندات البيانات. ويمكن لهذه الدالة احتساب المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة لدرجة تمنع تنزيلها بالكامل (آلاف المستندات).
getdocs(query) لتنفيذ طلب البحث وعرض النتائج على هيئة QuerySnapshot.يتم تنفيذ جميع طلبات البحث مباشرةً بواسطة الخادم، حتى إذا تم تنفيذ طلب البحث مسبقًا. لا تظهر التعديلات الحديثة في النتائج التي تم استردادها إلا إذا سبق أن تم تطبيقها من خلال الخلفية. إذا كان العميل غير متصل بالإنترنت، لن يتم تنفيذ العملية. للاطّلاع على النتائج المخزّنة مؤقتًا والتعديلات المحلية في السابق، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
query(query, compositeFilter, queryConstraints) تنشئ مثيلاً جديدًا غير قابل للتغيير من طلب البحث والذي تم توسيعه ليشمل أيضًا قيود طلبات البحث الإضافية.
query(query, queryConstraints) تنشئ مثيلاً جديدًا غير قابل للتغيير من طلب البحث والذي تم توسيعه ليشمل أيضًا قيود طلبات البحث الإضافية.
الدالّة(queryConstraints, ...)
and(queryConstraints) تنشئ هذه الدالة QueryCompositeFilterConstraint الجديدة جنبًا إلى جنب مع قيود الفلاتر المحددة. يشمل فلتر عوامل الجمع مستندًا إذا كان يتوافق مع جميع الفلاتر المحددة.
or(queryConstraints) تنشئ هذه الدالة QueryCompositeFilterConstraint الجديدة التي تفصل بين قيود الفلاتر المحددة. يتضمن فلتر الفصل مستندًا مستندًا إذا كان يتوافق مع أي من الفلاتر المحددة.
الدالّة(reference, ...)
addDoc(reference, data) يمكنك إضافة مستند جديد إلى CollectionReference باستخدام البيانات المحدّدة، وتعيين معرّف المستند له تلقائيًا.لن تنعكس نتيجة هذه الكتابة إلا في عمليات قراءة المستند التي تحدث بعد انتهاء الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
collection(reference, path, pathSegments) يتم الحصول على مثال CollectionReference يشير إلى مجموعة فرعية من reference في المسار النسبي المحدّد.
collection(reference, path, pathSegments) يتم الحصول على مثال CollectionReference يشير إلى مجموعة فرعية من reference في المسار النسبي المحدّد.
deleteDoc(reference) يؤدي هذا الإجراء إلى حذف المستند المُشار إليه من خلال سياسة DocumentReference المحدّدة.لن يظهر الحذف إلا في قراءات المستند التي تحدث بعد انتهاء فترة وعد الإرجاع. إذا كان العميل غير متصل، ستفشل عملية الحذف. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
doc(reference, path, pathSegments) يتم الحصول على نسخة افتراضية من DocumentReference تشير إلى مستند داخل reference في المسار النسبي المحدَّد. إذا لم يتم تحديد أي مسار، سيتم استخدام معرّف فريد يتم إنشاؤه تلقائيًا لسمة DocumentReference المعروضة.
doc(reference, path, pathSegments) يتم الحصول على نسخة افتراضية من DocumentReference تشير إلى مستند داخل reference في المسار النسبي المحدَّد.
getDoc(reference) يقرأ المستند الذي تمت الإشارة إليه من مرجع المستند المحدّد.يتم استرجاع جميع المستندات من الخادم مباشرةً، حتى إذا سبق أن تمت قراءة المستند أو تعديله. لا تظهر التعديلات الأخيرة إلا في DocumentSnapshot التي تم استردادها إذا سبق أن تم تطبيقها من خلال الخلفية. إذا كان العميل غير متصل بالإنترنت، لن تنجح القراءة. إذا أردت استخدام التخزين المؤقت أو الاطّلاع على التعديلات المحلية، يُرجى استخدام حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
setDoc(reference, data) تتم الكتابة على المستند الذي تتم الإشارة إليه من قِبل DocumentReference المحدَّد. إذا لم يكن المستند متوفّرًا بعد، سيتم إنشاؤه.لن تنعكس نتيجة هذه الكتابة إلا في قراءات المستند التي تحدث بعد إزالة الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
setDoc(reference, data, options) تتم الكتابة على المستند الذي تتم الإشارة إليه من قِبل DocumentReference المحدَّد. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. في حال تقديم merge أو mergeFields، يمكن دمج البيانات المقدَّمة في مستند حالي.لن تظهر نتيجة عملية الكتابة هذه إلا في عمليات قراءة المستندات التي تحدث بعد انتهاء فترة وعود الطلب التي تم إرجاعها. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
updateDoc(reference, data) لتعديل الحقول في المستند المُشار إليه من خلال السمة DocumentReference المحدّدة. سيتعذّر تطبيق التعديل في حال تطبيقه على مستند غير متوفّر.لن تظهر نتيجة هذا التعديل إلا في عمليات قراءة المستندات التي تتم بعد إزالة الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية التحديث. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
updateDoc(reference, field, value, moreFieldsAndValues) لتعديل الحقول في المستند المُشار إليه من خلال DocumentReference المحدَّد، سيتعذّر التعديل إذا تم تطبيقه على مستند غير متوفّر.يمكن تعديل الحقول المتداخلة من خلال توفير سلاسل مسارات حقول مفصولة بالنقاط أو من خلال توفير عناصر FieldPath.لن تظهر نتيجة هذا التعديل إلا في قراءات المستندات التي تحدث بعد انتهاء الوعد الوارد. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية التحديث. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.
الدالّة(snapshot, ...)
endAt(snapshot) تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي في المستند المقدَّم (شامل). يرتبط موضع النهاية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.
endBefore(snapshot) تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي قبل المستند المقدَّم (بشكل حصري). يرتبط موضع النهاية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.
startafter(snapshot) تنشئ هذه السياسة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء بعد المستند المتوفّر (حصريًا). يرتبط موضع البداية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.
startAt(snapshot) تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء في المستند المقدَّم (شامل). يرتبط موضع البداية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدَّمة في orderBy الخاص بطلب البحث هذا.
الدالة(values, ...)
متّجه(قيم) تنشئ قيمة VectorValue جديدة تم إنشاؤها باستخدام نسخة من مصفوفة الأرقام المحدّدة.

صفوف

الفئة الوصف
AggregateField يمثل هذا الحقل تجميعًا يمكن تنفيذه من خلال Firestore.
AggregateQuerySnapshot هي نتائج تنفيذ طلب تجميع.
وحدات البايت كائن غير قابل للتغيير يمثّل مصفوفة من وحدات البايت.
CollectionReference يمكن استخدام كائن CollectionReference لإضافة المستندات، والحصول على مراجع المستندات، وإجراء طلبات بحث عن المستندات (باستخدام query()).
DocumentReference يشير DocumentReference إلى موقع مستند في قاعدة بيانات Firestore ويمكن استخدامه لكتابة الموقع الجغرافي أو قراءته أو الاستماع إليه. قد يكون المستند متوفرًا في الموقع الجغرافي المشار إليه أو قد لا يكون متوفرًا.
لقطة المستند يحتوي DocumentSnapshot على بيانات تمت قراءتها من مستند في قاعدة بيانات Firestore. يمكن استخراج البيانات باستخدام .data() أو .get(<field>) للحصول على حقل محدَّد.بالنسبة إلى DocumentSnapshot الذي يشير إلى مستند غير موجود، سيعرض أي وصول إلى البيانات القيمة "غير محدّد". يمكنك استخدام الطريقة exists() للتحقّق صراحةً من وجود المستند.
FieldPath تشير السمة FieldPath إلى حقل في مستند. قد يتكون المسار من اسم حقل واحد (يشير إلى حقل المستوى الأعلى في المستند)، أو قائمة بأسماء الحقول (يشير إلى حقل مدمج في المستند).يمكنك إنشاء FieldPath من خلال تقديم أسماء الحقول. وفي حال تقديم أكثر من اسم حقل واحد، سيشير المسار إلى حقل متداخل في مستند.
FieldValue قيم Sentinel التي يمكن استخدامها عند كتابة حقول المستندات باستخدام set() أو update()
متجر إطفاء واجهة خدمة Cloud Firestoreيُرجى عدم استدعاء هذه الدالة الإنشائية مباشرةً. بدلاً من ذلك، استخدِم getFirestore().
FirestoreError حدث خطأ ناتج عن عملية Firestore.
GeoPoint عنصر غير قابل للتغيير يمثّل موقعًا جغرافيًا في Firestore. يتم تمثيل الموقع الجغرافي كزوج خط العرض/الطول.تقع قيم خطوط العرض في النطاق [-90، 90]. تتراوح قيم خط الطول بين [ -180 و180].
طلب بحث تشير السمة Query إلى طلب بحث يمكنك قراءته أو الاستماع إليه. يمكنك أيضًا إنشاء كائنات Query منقحة عن طريق إضافة الفلاتر والترتيب.
QueryCompositeFilterConstraint يتم استخدام QueryCompositeFilterConstraint لتضييق نطاق مجموعة المستندات التي يعرضها طلب بحث Firestore من خلال تنفيذ الأمر OR أو AND للعديد من QueryFieldFilterConstraint أو QueryCompositeFilterConstraints. يتم إنشاء قيم QueryCompositeFilterConstraint من خلال استدعاء or() أو and() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryCompositeFilterConstraint.
QueryConstraint يتم استخدام QueryConstraint لتضييق نطاق مجموعة المستندات التي يتم عرضها من خلال طلب بحث Firestore. يتم إنشاء QueryConstraint من خلال استدعاء where() وorderBy() وstartAt() وstartafter() وendBefore() وendAt() وlimit() وlimitToLast() على هذا المثيل أيضًا.QueryConstraint
QueryDocumentSnapshot يحتوي QueryDocumentSnapshot على بيانات تمت قراءتها من مستند في قاعدة بيانات Firestore كجزء من طلب بحث. يكون المستند مضمونًا ويمكن استخراج بياناته باستخدام .data() أو .get(<field>) للحصول على حقل محدّد.يوفّر QueryDocumentSnapshot مساحة واجهة برمجة التطبيقات نفسها المتوفرة في DocumentSnapshot. بما أنّ نتائج طلب البحث تحتوي على مستندات موجودة فقط، ستكون السمة exists صحيحة دائمًا ولن تعرض السمة data() أبدًا القيمة "غير محدّدة".
QueryEndAtConstraint يتم استخدام QueryEndAtConstraint لاستبعاد مستندات من نهاية مجموعة النتائج التي يعرضها طلب بحث Firestore. يتم إنشاء قيم QueryEndAtConstraint من خلال استدعاء endAt() أو endBefore()، ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryEndAtConstraint.
QueryFieldFilterConstraint يتم استخدام QueryFieldFilterConstraint لتضييق نطاق مجموعة المستندات التي يعرضها طلب بحث Firestore من خلال الفلترة حسب حقل واحد أو أكثر من حقول المستندات. يتم إنشاء قيم QueryFieldFilterConstraint من خلال استدعاء where() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryFieldFilterConstraint هذا.
QuerylimitedConstraint يتم استخدام QueryLimitConstraint للحد من عدد المستندات التي يتم عرضها من خلال طلب بحث Firestore. يتم إنشاء قيم QueryLimitConstraint من خلال استدعاء limit() أو limitToLast()، ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryLimitConstraint.
QueryOrderByConstraint يتم استخدام QueryOrderByConstraint لترتيب مجموعة المستندات التي يتم عرضها بواسطة طلب بحث Firestore. يتم إنشاء قيم QueryOrderByConstraint من خلال استدعاء orderBy() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryOrderByConstraint.ملاحظة: لن تكون المستندات التي لا تحتوي على الحقل orderBy متوفّرة في نتيجة طلب البحث.
لقطة طلب البحث يحتوي QuerySnapshot على صفر أو أكثر من عناصر DocumentSnapshot التي تمثّل نتائج طلب بحث. يمكن الوصول إلى المستندات كمصفوفة من خلال السمة docs أو تعدادها باستخدام الطريقة forEach. يمكن تحديد عدد المستندات من خلال السمتَين empty وsize.
QueryStartAtConstraint تُستخدَم QueryStartAtConstraint لاستبعاد مستندات من بداية مجموعة النتائج التي يعرضها طلب بحث Firestore. يتم إنشاء قيم QueryStartAtConstraint من خلال استدعاء startAt() أو startafter() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل طلب بحث جديد يحتوي أيضًا على QueryStartAtConstraint.
الطابع الزمني تمثّل Timestamp نقطة زمنية بشكل مستقل عن أي منطقة زمنية أو تقويم، ويتم تمثيلها كثواني وكسور من الثواني بدقة نانوثانية بتوقيت UTC.يتم ترميزها باستخدام التقويم الميلادي Proleptic الذي يوسّع التقويم الميلادي إلى العام الأول. حيث يتم ترميزه على افتراض أن مدة كل الدقائق هي 60 ثانية، أي أن الثواني الكبيسة "ملطخة" بحيث لا تكون هناك حاجة إلى جدول القفزة الثانية للتفسير. يتراوح النطاق بين 0001-01-01T00:00:00Z و 9999-12-31T23:59:59.999999999Z.للاطّلاع على أمثلة ومزيد من المواصفات، يُرجى الرجوع إلى تعريف الطابع الزمني.
المعاملة مرجع إلى معاملة.يوفّر عنصر Transaction الذي يتم تمريره إلى updateFunction الخاصة بالمعاملة طرق قراءة البيانات وكتابتها ضمن سياق العملية. يُرجى الاطّلاع على runTransaction().
VectorValue يمثل نوعًا متّجهًا في مستندات Firestore. إنشاء مثيل باستخدام قيمة المتجه
WriteBatch دُفعة كتابة تُستخدم لإجراء عمليات كتابة متعددة كوحدة ذرية واحدة.يمكن الحصول على كائن WriteBatch من خلال استدعاء writeBatch(). يوفر طرقًا لإضافة عمليات كتابة إلى دفعة الكتابة. لن يتم تنفيذ أي من عمليات الكتابة (أو مرئية محليًا) حتى يتم استدعاء WriteBatch.commit().

واجهات

الواجهة الوصف
AggregateSpec تحدّد هذه السمة مجموعة من التجميعات وأسماءها المستعارة.
DocumentData تتألف بيانات المستند (للاستخدام مع setDoc()) من حقول تم ربطها بقيم.
FirestoreDataConverter يُستخدَم المحوّل من قِبل "withConverter()" لتحويل كائنات المستخدم من النوع AppModelType إلى بيانات Firestore من النوع DbModelType.يتيح لك استخدام المحوّل تحديد وسيطات النوع العامة عند تخزين العناصر واستردادها من Firestore.في هذا السياق، يظهر "AppModel" هي فئة تستخدم في أحد التطبيقات لتجميع المعلومات والوظائف ذات الصلة معًا. ويمكن أن تتضمّن هذه الفئة مثلاً سمات ذات أنواع بيانات معقدة ومدمجة وسمات مستخدَمة للحفظ وسمات من الأنواع غير المتوافقة مع Firestore (مثل symbol وbigint) والدوال المساعدة التي تؤدي عمليات مركّبة. هذه الفئات ليست مناسبة و/أو من الممكن تخزينها في قاعدة بيانات Firestore. بدلاً من ذلك، يجب تحويل مثيلات هذه الفئات إلى "كائنات JavaScript قديمة عادية" تتضمّن هذه الدالة خصائص أولية بشكل حصري، يُحتمل أن تكون مدمجة داخل POJO أو مصفوفات أخرى من عناصر POJO. وفي هذا السياق، يشار إلى هذا النوع باسم "نموذج قاعدة البيانات" وستكون كائنًا مناسبًا للاحتفاظ بها في Firestore. لتسهيل الاستخدام، يمكن للتطبيقات تنفيذ FirestoreDataConverter وتسجيل محوّل الملفات باستخدام عناصر Firestore، مثل DocumentReference أو Query، لتحويل AppModel إلى DbModel تلقائيًا عند تخزينه في Firestore وتحويل DbModel إلى AppModel عند استرداده من Firestore.
الإعدادات تحدِّد هذه السياسة عمليات الضبط المخصّصة لمثيل Cloud Firestore. ويجب ضبطها قبل استدعاء أي طرق أخرى.
transactionOptions خيارات تخصيص سلوك المعاملة.

كتابة العناوين البديلة للبريد الإلكتروني

اكتب العنوان البديل للبريد الإلكتروني الوصف
AddPrefixToKeys لعرض خريطة جديدة يسبق كل مفتاح فيها إلحاق المفتاح الخارجي بنقطة.
AggregateFieldType تمثّل هذه السمة الاتحاد بين جميع أنواع AggregateField المتوافقة مع Firestore.
AggregateSpecData يشير ذلك المصطلح إلى نوع يتم الحصول على مفاتيحه من AggregateSpec وتكون قيمه نتيجة التجميع الذي يتم إجراؤه من خلال دالة AggregateField المتوافقة من الإدخال AggregateSpec.
AggregateType نوع الاتحاد الذي يمثل النوع المجمّع المطلوب تنفيذه.
ChildUpdateFields مساعد لحساب الحقول المتداخلة لنوع معيّن من T1. وهذا الإجراء مطلوب لتوزيع أنواع الاتحاد، مثل undefined | {...} (يحدث ذلك للدعائم الاختيارية) أو {a: A} | {b: B}.في حالة الاستخدام هذه، يتم استخدام V لتوزيع أنواع اتحاد T[K] على Record، لأنّ T[K] يتم تقييمه كتعبير وليس موزَّعًا.يُرجى الاطّلاع على https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types.
FirestoreErrorCode مجموعة رموز الحالة Firestore. الرموز هي نفسها التي يعرضها gRPC هنا: https://github.com/grpc/grpc/blob/master/doc/statuscodes.mdالقيم المحتملة: - 'cancelled': تم إلغاء العملية (عادةً من قِبل المتصل). - "غير معروف": خطأ غير معروف أو خطأ من نطاق خطأ مختلف. - 'spam-argument': حدّد العميل وسيطة غير صالحة. يُرجى العِلم أنّ هذا الشرط يختلف عن الحالة "تعذّر إكمال العملية". "وسيطة غير صالحة" تشير إلى الوسيطات التي تمثل مشاكل بغض النظر عن حالة النظام (مثل اسم حقل غير صالح). - "تم تجاوز الموعد النهائي": انتهت صلاحية الموعد النهائي قبل اكتمال العملية. بالنسبة للعمليات التي تغير حالة النظام، قد يتم عرض هذا الخطأ حتى إذا اكتملت العملية بنجاح. على سبيل المثال، قد تتأخر الاستجابة الناجحة من الخادم لفترة كافية لتنتهي صلاحية الموعد النهائي. - "لم يتم العثور على الصفحة": لم يتم العثور على بعض المستندات المطلوبة. - "موجود من قبل": بعض المستندات التي حاولنا إنشائها موجودة من قبل. - "تم رفض الإذن": لا يملك المتصل إذنًا لتنفيذ العملية المحددة. - "تم استنفاد الموارد": ربما تم استنفاد بعض الموارد، أو ربما الحصة لكل مستخدم، أو نفاد المساحة في نظام الملفات بالكامل. - 'failed-precondition': تم رفض العملية لأنّ النظام ليس في حالة مطلوبة لتنفيذ العملية. - "إلغاء": تم إلغاء العملية، وذلك عادةً بسبب مشكلة تتعلق بالتزامن مثل عمليات إلغاء المعاملة أو ما إلى ذلك - "خارج النطاق": تمت محاولة العملية خارج النطاق الصالح. - "غير مُنفذة": لم يتم تنفيذ العملية أو أنّها غير متاحة/مفعَّلة - "داخلي": أخطاء داخلية يعني ذلك أنّ بعض القيم الثابتة التي يتوقعها النظام الأساسي قد تعطّلت. إذا رأيت أحد هذه الأخطاء، فهذا يعني أن شيئًا معطّلاً للغاية. - "غير متاحة": الخدمة غير متاحة حاليًا. هذه حالة عابرة على الأرجح عابرة ويمكن تصحيحها عن طريق إعادة المحاولة بالتراجع. - "data-loss" (فقدان البيانات): تلف أو فقدان بيانات غير قابل للإصلاح. - "لم تتم المصادقة": لا يحتوي الطلب على بيانات اعتماد مصادقة صالحة للعملية.
NestedUpdateFields بالنسبة إلى كل حقل (مثل "bar")، ابحث عن كل المفاتيح المضمّنة (مثل {'bar.baz': T1, 'bar.qux': T2}). اتقاطع بينها لإنشاء خريطة واحدة تحتوي على جميع المفاتيح الممكنة التي تم تصنيفها جميعًا على أنها اختيارية
OrderByDirection يتم تحديد اتجاه عبارة orderBy() بالصيغة "desc" أو "asc" (ترتيب تنازلي أو تصاعدي)
Partial withFieldValue على غرار Partial<T> في TypeScript، ولكنها تسمح بحذف الحقول المتداخلة وتمرير FieldValues كقيم سمات.
عادية الأنواع الأولية.
QueryConstraintType يصِف هذا القسم قيود طلبات البحث المختلفة المتاحة في حزمة تطوير البرامج (SDK) هذه.
QueryFilterConstraint QueryFilterConstraint هو نوع اتحاد مساعد يمثل QueryFieldFilterConstraint وQueryCompositeFilterConstraint.
QueryNonFilterConstraint QueryNonFilterConstraint هو نوع اتحاد مساعد يمثّل QueryConstraints التي تُستخدم لتضييق مجموعة المستندات أو ترتيبها، ولكنها لا تعمل على الفلترة بشكل صريح في حقل المستند. يتم إنشاء QueryNonFilterConstraint من خلال استدعاء orderBy() أو startAt() أو startafter() أو endBefore() أو endAt() أو limit() أو limitToLast() ويمكن تمريرها إلى query() لإنشاء مثيل جديد يحتوي أيضًا على مثيل طلب البحث18 الذي يحتوي أيضًا.QueryConstraint
SetOptions كائن خيارات يضبط سلوك setDoc() وعمليات الاستدعاء. ويمكن ضبط هذه الطلبات لإجراء عمليات دمج دقيقة بدلاً من استبدال المستندات المستهدفة بالكامل من خلال توفير SetOptions مع merge: true.
UnionToIntersection بناءً على نوع الاتحاد U = T1 | T2 | ...، يتم عرض نوع متقاطع (T1 & T2 & ...).تستخدم أنواع شرطية توزيعة واستنتاج من الأنواع الشرطية. يعمل هذا لأن تعدد العناصر المرشحة لمتغير النوع نفسه في مواضع التباين المتباين تؤدي إلى استنتاج نوع التقاطع. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type
UpdateData تعديل البيانات (للاستخدام مع updateDoc()) التي تتألّف من مسارات الحقول (مثل "foo" أو "foo.baz") التي تم ربطها بالقيم تشير الحقول التي تحتوي على نقاط إلى حقول متداخلة داخل المستند. يمكن تمرير قيم الحقل كقيم للسمات.
WHEREFilterOp يتم تحديد شروط الفلتر في عبارة where() باستخدام السلاسل '&lt;' و'&lt;=' و'==' و'!=' و'&gt;=' و'&gt;' و'array-contains' و'in' و'array-contains-any' و'not-in'.
باستخدام قيمة الحقل تسمح بتمرير قيم الحقل (FieldValues) كقيمة للخاصية مع الحفاظ على أمان النوع.

function(app, ...)

getFirestore(app)

تعرض هذه البيانات مثيل Firestore التلقائي الحالي المرتبط بتطبيق FirebaseApp المقدَّم. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.

Signature:

export declare function getFirestore(app: FirebaseApp): Firestore;

المَعلمات

المعلمة النوع الوصف
التطبيق تطبيق Firebase يشير إلى مثيل FirebaseApp الذي يرتبط به مثيل Firestore الذي تم عرضه.

المرتجعات:

متجر إطفاء

مثيل Firestore للتطبيق المقدَّم.

getFirestore(app, DatabaseId)

يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطوّرين، وقد تتغير استنادًا إلى الملاحظات التي نتلقّاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة إنتاج.

تعرِض هذه السمة مثيل Firestore الحالي المرتبط بتطبيق FirebaseApp المقدَّم. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.

Signature:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

المَعلمات

المعلمة النوع الوصف
التطبيق تطبيق Firebase يشير إلى مثيل FirebaseApp الذي يرتبط به مثيل Firestore الذي تم عرضه.
معرِّف قاعدة البيانات السلسلة اسم قاعدة البيانات.

المرتجعات:

متجر إطفاء

مثيل Firestore للتطبيق المقدَّم.

تهيئةFirestore(التطبيق، الإعدادات)

يتم إعداد مثيل جديد من Cloud Firestore باستخدام الإعدادات المتوفّرة. لا يمكن طلبها إلا قبل أي دوال أخرى، بما في ذلك getFirestore(). إذا كانت الإعدادات المخصّصة فارغة، تكون هذه الدالة مكافئة لاستدعاء getFirestore().

Signature:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

المَعلمات

المعلمة النوع الوصف
التطبيق تطبيق Firebase FirebaseApp الذي سيتم ربط المثيل Firestore به.
الإعدادات الإعدادات عنصر إعدادات لضبط المثيل Firestore.

المرتجعات:

متجر إطفاء

مثيل Firestore تم إعداده حديثًا.

تهيئةFirestore(تطبيق، إعدادات، قاعدة بيانات معرفية)

يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطوّرين، وقد تتغير استنادًا إلى الملاحظات التي نتلقّاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة إنتاج.

يتم إعداد مثيل جديد من Cloud Firestore باستخدام الإعدادات المتوفّرة. لا يمكن طلبها إلا قبل أي دوال أخرى، بما في ذلك getFirestore(). إذا كانت الإعدادات المخصّصة فارغة، تكون هذه الدالة مكافئة لاستدعاء getFirestore().

Signature:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

المَعلمات

المعلمة النوع الوصف
التطبيق تطبيق Firebase FirebaseApp الذي سيتم ربط المثيل Firestore به.
الإعدادات الإعدادات عنصر إعدادات لضبط المثيل Firestore.
معرِّف قاعدة البيانات السلسلة اسم قاعدة البيانات.

المرتجعات:

متجر إطفاء

مثيل Firestore تم إعداده حديثًا.

function(firestore, ...)

group(firestore, path, pathSegments)

تحصل على مثيل CollectionReference يشير إلى المجموعة في المسار المطلق المحدّد.

Signature:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء مرجع إلى مثيل Firestore الجذري
المسار السلسلة مسار مفصول بشرطة مائلة إلى مجموعة.
شرائح المسارات سلسلة[] مقاطع المسار الإضافية المطلوب تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

CollectionReference<DocumentData، وDocumentData>

المثيل CollectionReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد زوجي من المقاطع ولا يشير إلى مجموعة.

groupGroup(firestore, collectionId)

تنشئ هذه الدالة مثيل Query جديدًا ويعرضها، ويتضمّن جميع المستندات في قاعدة البيانات المضمّنة في مجموعة أو مجموعة فرعية تتضمّن collectionId المحدّد.

Signature:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء مرجع إلى مثيل Firestore الجذري
رقم تعريف المجموعة السلسلة تحدد المجموعات التي تريد الاستعلام عنها. سيتم تضمين كل مجموعة أو مجموعة فرعية برقم التعريف هذا كالجزء الأخير من مسارها. لا يمكن أن يحتوي على شرطة مائلة.

المرتجعات:

طلب البحث<DocumentData، DocumentData>

Query الذي تم إنشاؤه

ConnectFirestoreEmulator(مخزن النار، المضيف، المنفذ، الخيارات)

يمكنك تعديل هذا المثيل للاتصال بمحاكي Cloud Firestore.

Signature:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء المثيل Firestore المطلوب إعداده للاتصال بالمحاكي.
المضيف السلسلة مضيف المحاكي (مثل: localhost).
المنفذ رقم منفذ المحاكي (مثل: 9000)
خيارات {cyUserToken?: EmulatorMockTokenOptions | سلسلة؛ }

المرتجعات:

فراغ

doc(firestore, path, pathSegments)

الحصول على مثال DocumentReference يشير إلى المستند في المسار المطلق المحدّد.

Signature:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء مرجع إلى مثيل Firestore الجذري
المسار السلسلة مسار مفصول بشرطة مائلة لمستند.
شرائح المسارات سلسلة[] شرائح المسار الإضافية التي سيتم تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

DocumentReference<DocumentData، وDocumentData>

المثيل DocumentReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد فردي من المقاطع ولا يشير إلى مستند.

runtransaction(firestore, updateFunction, options)

يتم تنفيذ updateFunction المحدَّد ثم محاولة تنفيذ التغييرات المُطبَّقة ضمن المعاملة. في حال تغيير أي مستند تمت قراءته ضمن المعاملة، يعيد Cloud Firestore محاولة updateFunction. يتعذّر إتمام المعاملة بعد 5 محاولات.

الحد الأقصى لعدد عمليات الكتابة المسموح بها في معاملة واحدة هو 500.

Signature:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء مرجع إلى قاعدة بيانات Firestore لإجراء هذه المعاملة عليه.
دوال التحديث (المعاملة: المعاملة) => وعود<T> الدالة المطلوب تنفيذها ضمن سياق العملية.
خيارات transactionOptions عنصر خيارات لضبط الحد الأقصى لعدد المحاولات المسموح بها

المرتجعات:

وعود<T>

في حال إكمال المعاملة بنجاح أو إلغائها بشكل صريح (تعذّرت معالجة updateFunction، يتم إرجاع الوعد الذي أرجعته updateFunction إلى هنا. وبخلاف ذلك، إذا تعذّر إكمال المعاملة، سيتم إرجاع وعود مرفوضة مع ظهور خطأ تعذُّر إكمال المعاملة.

End(firestore)

إنهاء مثيل Firestore المقدَّم.

بعد استدعاء الدالة terminate()، قد لا يتم استخدام سوى الدوال clearIndexedDbPersistence(). ستعرض أي دالة أخرى الخطأ FirestoreError. لا يؤدي الإنهاء إلى إلغاء أي عمليات كتابة معلقة، ولن يتم التعامل بشكل نهائي مع أي وعود تنتظر رد من الخادم.

لإعادة التشغيل بعد الإنهاء، أنشِئ مثيلاً جديدًا من Firestore باستخدام getFirestore().

Signature:

export declare function terminate(firestore: Firestore): Promise<void>;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء المثيل Firestore المطلوب إنهاؤه.

المرتجعات:

وعود <باطلة>

Promise يتم التعامل معه عند إنهاء المثيل بنجاح.

writeBatch(firestore)

تنشئ هذه الدالة دفعة كتابة، وتُستخدم لإجراء عمليات كتابة متعددة كعملية بسيطة واحدة. يبلغ الحد الأقصى لعدد عمليات الكتابة المسموح بها في WriteBatch واحد 500.

ستنعكس نتيجة عمليات الكتابة هذه فقط في قراءات المستند التي تحدث بعد انتهاء الوعد العائد. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function writeBatch(firestore: Firestore): WriteBatch;

المَعلمات

المعلمة النوع الوصف
متجر إطفاء متجر إطفاء

المرتجعات:

WriteBatch

تمثّل هذه السمة WriteBatch التي يمكن استخدامها لتنفيذ عدة عمليات كتابة.

الدالة()

()count

إنشاء كائن AggregateField يمكن استخدامه لحساب عدد المستندات في مجموعة نتائج طلب البحث.

Signature:

export declare function count(): AggregateField<number>;

المرتجعات:

AggregateField<number>

DeleteField()

تعرض رسالة مُرسلة للاستخدام مع updateDoc() أو setDoc() مع {merge: true} لتمييز حقل للحذف.

Signature:

export declare function deleteField(): FieldValue;

المرتجعات:

FieldValue

DocumentId()

تعرض رسالة حارس خاصة FieldPath للإشارة إلى معرِّف مستند. ويمكن استخدامه في الاستعلامات للفرز أو التصفية حسب معرّف المستند.

Signature:

export declare function documentId(): FieldPath;

المرتجعات:

FieldPath

getFirestore()

تعرض هذه البيانات مثيل Firestore التلقائي الحالي المرتبط بتطبيق FirebaseApp التلقائي. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.

Signature:

export declare function getFirestore(): Firestore;

المرتجعات:

متجر إطفاء

مثيل Firestore للتطبيق المقدَّم.

serverTimestamp()

تعرض رسالة مُرسلة يتم استخدامها مع setDoc() أو updateDoc() لتضمين طابع زمني ينشئه الخادم في البيانات المكتوبة.

Signature:

export declare function serverTimestamp(): FieldValue;

المرتجعات:

FieldValue

function(databaseId, ...)

getFirestore(databaseId)

يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطوّرين، وقد تتغير استنادًا إلى الملاحظات التي نتلقّاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة إنتاج.

تعرض مثيل Firestore الحالي المرتبط بتطبيق FirebaseApp التلقائي. في حال عدم توفّر مثيل، يتم بدء مثيل جديد بالإعدادات التلقائية.

Signature:

export declare function getFirestore(databaseId: string): Firestore;

المَعلمات

المعلمة النوع الوصف
معرِّف قاعدة البيانات السلسلة اسم قاعدة البيانات.

المرتجعات:

متجر إطفاء

مثيل Firestore للتطبيق المقدَّم.

function(items, ...)

صفيفإزالة(عناصر)

تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو تطلب من الخادم إزالة العناصر المحدّدة من أي قيمة مصفوفة متوفّرة على الخادم. ستتم إزالة جميع مثيلات كل عنصر محدد من المصفوفة. إذا لم يكن الحقل الذي يتم تعديله مصفوفة من قبل، سيتم استبداله بصفيف فارغ.

Signature:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

المَعلمات

المعلمة النوع الوصف
العناصر غير معروف[] العناصر المطلوب إزالتها من الصفيفة.

المرتجعات:

FieldValue

حارس FieldValue الذي سيتم استخدامه في مكالمة مع setDoc() أو updateDoc()

صفيف.(عناصر)

تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() تخبر الخادم بتوحيد العناصر المحددة مع أي قيمة صفيف موجودة على الخادم. ستتم إضافة كل عنصر محدد غير موجود في الصفيف إلى النهاية. إذا لم يكن الحقل الذي يتم تعديله مصفوفة من قبل، فسيتم استبداله بصفيف يحتوي على العناصر المحددة بالضبط.

Signature:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

المَعلمات

المعلمة النوع الوصف
العناصر غير معروف[] العناصر التي يتم توحيدها في الصفيفة.

المرتجعات:

FieldValue

حارس FieldValue لاستخدامه في مكالمة مع setDoc() أو updateDoc().

function(field, ...)

المتوسط(الحقل)

يمكنك إنشاء كائن AggregateField يمكن استخدامه لحساب متوسط حقل محدَّد على نطاق من المستندات في مجموعة نتائج طلب البحث.

Signature:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

المَعلمات

المعلمة النوع الوصف
الحقل سلسلة | FieldPath تحدد الحقل المطلوب حساب متوسطه عبر مجموعة النتائج.

المرتجعات:

AggregateField <number | null>

sum(حقل)

إنشاء كائن AggregateField يمكن استخدامه لحساب مجموع حقل محدد عبر نطاق من المستندات في مجموعة نتائج طلب البحث.

Signature:

export declare function sum(field: string | FieldPath): AggregateField<number>;

المَعلمات

المعلمة النوع الوصف
الحقل سلسلة | FieldPath لتحديد الحقل المطلوب جمعه عبر مجموعة النتائج.

المرتجعات:

AggregateField<number>

function(fieldPath, ...)

orderBy(fieldPath, DirectionStr)

إنشاء QueryOrderByConstraint الذي يرتب نتيجة طلب البحث حسب الحقل المحدد، اختياريًا بترتيب تنازلي بدلاً من تصاعدي.

Signature:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

المَعلمات

المعلمة النوع الوصف
حقل Path سلسلة | FieldPath الحقل المطلوب الترتيب حسبه.
اتجاه العرض OrderByDirection اتجاه اختياري للترتيب حسبه ("asc" أو "desc"). في حال عدم تحديد قيمة، سيتم ترتيب تصاعدي.

المرتجعات:

QueryOrderByConstraint

دالة QueryOrderByConstraint التي تم إنشاؤها.

where(fieldPath, opStr, value)

تنشئ هذه السياسة QueryFieldFilterConstraint التي تفرض ضرورة أن تحتوي المستندات على الحقل المحدّد وأن القيمة يجب أن تستوفي قيد العلاقة المتوفّر.

Signature:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

المَعلمات

المعلمة النوع الوصف
حقل Path سلسلة | FieldPath مسار المقارنة
opStr. WHEREFilterOp سلسلة العملية (مثل "&lt;" أو "&lt;=" أو "==" أو "&lt;" أو "&lt;=", "!=").
القيمة غير معروف قيمة المقارنة

المرتجعات:

QueryFieldFilterConstraint

QueryFieldFilterConstraint الذي تم إنشاؤه.

function(fieldValues, ...)

endAt(fieldValues)

تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي عند الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.

Signature:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

المَعلمات

المعلمة النوع الوصف
قيم الحقل غير معروف[] قيم الحقول المراد إنهاء هذا الاستعلام عنده، بترتيب الاستعلام.

المرتجعات:

QueryEndAtConstraint

A QueryEndAtConstraint للانتقال إلى query()

endBefore(fieldValues)

تنشئ هذه الدالة QueryEndAtConstraint تعديلاً لمجموعة النتائج بحيث تنتهي قبل الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.

Signature:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

المَعلمات

المعلمة النوع الوصف
قيم الحقل غير معروف[] قيم الحقل التي تريد إنهاء هذا الاستعلام قبلها، بترتيب الاستعلام حسب.

المرتجعات:

QueryEndAtConstraint

A QueryEndAtConstraint للانتقال إلى query()

startafter(fieldValues)

تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء بعد الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.

Signature:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

المَعلمات

المعلمة النوع الوصف
قيم الحقل غير معروف[] قيم الحقل التي سيتم بدء هذا الاستعلام بعدها، بترتيب الاستعلام.

المرتجعات:

QueryStartAtConstraint

QueryStartAtConstraint للانتقال إلى query()

startAt(fieldValues)

تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء من الحقول المقدّمة بالنسبة إلى ترتيب طلب البحث. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام.

Signature:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

المَعلمات

المعلمة النوع الوصف
قيم الحقل غير معروف[] قيم الحقول التي تريد بدء هذا الاستعلام عندها، بترتيب الاستعلام.

المرتجعات:

QueryStartAtConstraint

A QueryStartAtConstraint للانتقال إلى query().

function(left, ...)

groupFieldEqual(left, right)

لمقارنة حالتين من "AggregateField" للمساواة.

Signature:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

المَعلمات

المعلمة النوع الوصف
لليسار AggregateField<unknown> قارِن بين AggregateField هذا وright.
لليمين AggregateField<unknown> قارِن بين AggregateField هذا وleft.

المرتجعات:

قيمة منطقية

groupQuerySnapshotEqual(يسار، يمين)

تتم المقارنة بين حالتين AggregateQuerySnapshot من أجل المساواة.

يتم اعتبار حالتَين AggregateQuerySnapshot على أنّهما "متساويتان". إذا كانت تضم استعلامات أساسية تقارن بينها، ونفس البيانات.

Signature:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

المَعلمات

المعلمة النوع الوصف
لليسار AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> أول AggregateQuerySnapshot للمقارنة.
لليمين AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> السمة AggregateQuerySnapshot الثانية المطلوب مقارنتها.

المرتجعات:

قيمة منطقية

true إذا كانت العناصر "متساوية" كما هو موضَّح أعلاه، أو false غير ذلك.

queryEqual(left, right)

تعرض القيمة "صحيح" إذا كانت طلبات البحث المقدّمة تشير إلى المجموعة نفسها وتطبّق القيود نفسها.

Signature:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

المَعلمات

المعلمة النوع الوصف
لليسار طلب البحث<AppModelType, DbModelType> Query للمقارنة.
لليمين طلب البحث<AppModelType, DbModelType> Query للمقارنة.

المرتجعات:

قيمة منطقية

true إذا كانت المراجع تشير إلى الموقع نفسه في قاعدة بيانات Firestore نفسها.

refEqual(left, right)

يتم عرض true إذا كانت المراجع المقدّمة متساوية.

Signature:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

المَعلمات

المعلمة النوع الوصف
لليسار DocumentReference <AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> مرجع للمقارنة.
لليمين DocumentReference <AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> مرجع للمقارنة.

المرتجعات:

قيمة منطقية

true إذا كانت المراجع تشير إلى الموقع نفسه في قاعدة بيانات Firestore نفسها.

PixelbookEqual(left, right)

يتم عرض true إذا كانت اللقطات التي تم تقديمها متساوية.

Signature:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

المَعلمات

المعلمة النوع الوصف
لليسار DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> لقطة للمقارنة.
لليمين DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> لقطة للمقارنة.

المرتجعات:

قيمة منطقية

true إذا كانت اللقطات متساوية.

function(limit, ...)

الحد(الحد الأقصى)

تنشئ هذه الدالة QuerylimitedConstraint التي تعرض فقط المستندات الأولى المطابقة.

Signature:

export declare function limit(limit: number): QueryLimitConstraint;

المَعلمات

المعلمة النوع الوصف
الحدّ الأقصى المسموح به رقم تمثّل هذه السمة الحد الأقصى لعدد السلع المطلوب عرضها.

المرتجعات:

QuerylimitedConstraint

دالة QueryLimitConstraint التي تم إنشاؤها.

limitToLast(limit)

تنشئ هذه الدالة QuerylimitedConstraint التي تعرض آخر المستندات المطابقة فقط.

يجب تحديد عبارة orderBy واحدة على الأقل لطلبات بحث limitToLast، وإلّا فسيتم تطبيق استثناء أثناء التنفيذ.

Signature:

export declare function limitToLast(limit: number): QueryLimitConstraint;

المَعلمات

المعلمة النوع الوصف
الحدّ الأقصى المسموح به رقم تمثّل هذه السمة الحد الأقصى لعدد السلع المطلوب عرضها.

المرتجعات:

QuerylimitedConstraint

دالة QueryLimitConstraint التي تم إنشاؤها.

function(logLevel, ...)

setLogLevel(logLevel)

تضبط هذه السياسة مستوى الإسهاب في سجلّات Cloud Firestore (تصحيح الأخطاء أو الأخطاء أو الصامت).

Signature:

export declare function setLogLevel(logLevel: LogLevel): void;

المَعلمات

المعلمة النوع الوصف
مستوى السجلّ مستوى السجلّ مستوى الإسهاب الذي ضبطته لتسجيل الأنشطة والأخطاء. يمكن أن تكون أي من القيم التالية:
  • debug للحصول على أعلى مستوى للتسجيل المطوَّل، وذلك بغرض تصحيح الأخطاء في المقام الأول.
  • error لتسجيل الأخطاء فقط.
  • silent to turn off logging.

المرتجعات:

فراغ

function(n, ...)

الزيادة(n)

تعرض قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() تطلب من الخادم زيادة القيمة الحالية للحقل من خلال القيمة المحدّدة.

إذا كان المعامل أو قيمة الحقل الحالي يستخدم دقة النقطة العائمة، تتّبع كل العمليات الحسابية دلالات IEEE 754. في حال كانت كلتا القيمتان أعداد صحيحة، تكون القيم خارج نطاق الأرقام الآمنة في JavaScript (من Number.MIN_SAFE_INTEGER إلى Number.MAX_SAFE_INTEGER) عرضة لفقدان الدقة أيضًا. علاوة على ذلك، بمجرد معالجتها بواسطة الواجهة الخلفية Firestore، يتم وضع حد أقصى لجميع عمليات الأعداد الصحيحة بين -2^63 و 2^63-1.

إذا لم تكن قيمة الحقل الحالي من النوع number، أو إذا لم يتوفّر الحقل بعد، تضبط عملية التحويل الحقل على القيمة المحدّدة.

Signature:

export declare function increment(n: number): FieldValue;

المَعلمات

المعلمة النوع الوصف
n رقم القيمة المطلوب الزيادة بها.

المرتجعات:

FieldValue

حارس FieldValue الذي سيتم استخدامه في مكالمة مع setDoc() أو updateDoc()

function(query, ...)

getAggregate(query, AggregateSpec)

لحساب التجميعات المحددة على المستندات في مجموعة نتائج طلب البحث المحدد بدون تنزيل المستندات فعليًا.

يعد استخدام هذه الدالة لإجراء عمليات التجميع أمرًا فعالاً لأن قيم التجميع النهائية فقط، وليس المستندات البيانات. ويمكن لهذه الدالة تنفيذ تجميعات للمستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة لدرجة تمنع تنزيلها بالكامل (آلاف المستندات).

Signature:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

المَعلمات

المعلمة النوع الوصف
query طلب البحث<AppModelType, DbModelType> طلب البحث الذي تم تجميع مجموعة نتائجه.
المواصفات المجمّعة نوع التجميع يشير ذلك المصطلح إلى كائن AggregateSpec يحدّد عمليات التجميع المطلوب تنفيذها على مجموعة النتائج. يحدد AggregateSpec أسماء مستعارة لكل تجميع، والتي يمكن استخدامها لاسترداد النتيجة المجمّعة.

المرتجعات:

وعود<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>

مثال

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCount(query)

لحساب عدد المستندات في مجموعة نتائج الاستعلام المحدد بدون تنزيل المستندات فعليًا.

يعد استخدام هذه الدالة لحساب المستندات أمرًا فعالاً لأن العدد النهائي فقط، وليس المستندات البيانات. ويمكن لهذه الدالة احتساب المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة لدرجة تمنع تنزيلها بالكامل (آلاف المستندات).

Signature:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

المَعلمات

المعلمة النوع الوصف
query طلب البحث<AppModelType, DbModelType> طلب البحث الذي يتم حساب حجم مجموعة النتائج فيه.

المرتجعات:

الوعد<AggregateQuerySnapshot<{ count: AggregateField<number>؛ }, AppModelType, DbModelType>>

وعد سيتمّ حلّه مع العد يمكن استرداد العدد من snapshot.data().count، حيث يشير snapshot إلى AggregateQuerySnapshot الذي يحلّه الوعد الذي تم إرجاعه.

getdocs(query)

لتنفيذ طلب البحث وعرض النتائج في صورة QuerySnapshot.

يتم تنفيذ جميع الاستعلامات مباشرة بواسطة الخادم، حتى إذا تم تنفيذ الاستعلام مسبقًا. لا تظهر التعديلات الحديثة في النتائج التي تم استردادها إلا إذا سبق أن تم تطبيقها من خلال الخلفية. إذا كان العميل غير متصل بالإنترنت، لن يتم تنفيذ العملية. للاطّلاع على النتائج المخزّنة مؤقتًا والتعديلات المحلية في السابق، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

المَعلمات

المعلمة النوع الوصف
query طلب البحث<AppModelType, DbModelType> السمة Query المطلوب تنفيذها.

المرتجعات:

وعود<QuerySnapshot<AppModelType, DbModelType>>

وعد سيتم حله بنتائج الاستعلام.

query(query, compositeFilter, queryConstraints)

تنشئ مثيلاً جديدًا غير قابل للتغيير من طلب البحث والذي تم توسيعه ليشمل أيضًا قيود طلبات البحث الإضافية.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

المَعلمات

المعلمة النوع الوصف
query طلب البحث<AppModelType, DbModelType> مثيل طلب البحث المطلوب استخدامه كأساس للقيود الجديدة.
الفلتر المركّب QueryCompositeFilterConstraint QueryCompositeFilterConstraint التي سيتم تطبيقها. أنشئ QueryCompositeFilterConstraint باستخدام and() أو or().
قيود الاستعلام QueryNonFilterConstraint[] عناصر QueryNonFilterConstraint الإضافية المطلوب تطبيقها (مثل orderBy() وlimit()).

المرتجعات:

طلب البحث<AppModelType, DbModelType>

الاستثناءات

إذا تعذر دمج أي من قيود طلبات البحث المقدمة مع القيود الحالية أو الجديدة.

query(query, queryConstraints)

تنشئ مثيلاً جديدًا غير قابل للتغيير من طلب البحث والذي تم توسيعه ليشمل أيضًا قيود طلبات البحث الإضافية.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

المَعلمات

المعلمة النوع الوصف
query طلب البحث<AppModelType, DbModelType> مثيل طلب البحث المطلوب استخدامه كأساس للقيود الجديدة.
قيود الاستعلام QueryConstraint[] قائمة QueryConstraint المطلوب تطبيقها.

المرتجعات:

طلب البحث<AppModelType, DbModelType>

الاستثناءات

إذا تعذر دمج أي من قيود طلبات البحث المقدمة مع القيود الحالية أو الجديدة.

function(queryConstraints, ...)

و(queryConstraints)

تنشئ هذه الدالة QueryCompositeFilterConstraint الجديدة جنبًا إلى جنب مع قيود الفلاتر المحددة. يشمل فلتر عوامل الجمع مستندًا إذا كان يتوافق مع جميع الفلاتر المحددة.

Signature:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

المَعلمات

المعلمة النوع الوصف
قيود الاستعلام QueryFilterConstraint[] هذه السمة اختيارية. قائمة QueryFilterConstraint لتنفيذ عملية فعل لها. ويجب إنشاؤها باستخدام عمليات الاستدعاء إلى where() أو or() أو and().

المرتجعات:

QueryCompositeFilterConstraint

QueryCompositeFilterConstraint الذي تم إنشاؤه حديثًا.

or(queryConstraints)

تنشئ هذه الدالة QueryCompositeFilterConstraint الجديدة التي تفصل بين قيود الفلاتر المحددة. يتضمن فلتر الفصل مستندًا مستندًا إذا كان يتوافق مع أي من الفلاتر المحددة.

Signature:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

المَعلمات

المعلمة النوع الوصف
قيود الاستعلام QueryFilterConstraint[] هذه السمة اختيارية. قائمة QueryFilterConstraint المطلوب تنفيذ عملية فصل لها. ويجب إنشاؤها باستخدام عمليات الاستدعاء إلى where() أو or() أو and().

المرتجعات:

QueryCompositeFilterConstraint

QueryCompositeFilterConstraint الذي تم إنشاؤه حديثًا.

function(reference, ...)

addDoc(reference, data)

يمكنك إضافة مستند جديد إلى CollectionReference المحدّد باستخدام البيانات المحدّدة، مع تعيين معرّف المستند تلقائيًا له.

ستنعكس نتيجة هذه الكتابة فقط في قراءات المستند التي تحدث بعد حل الوعد المردود. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

المَعلمات

المعلمة النوع الوصف
مرجع CollectionReference <AppModelType, DbModelType> مرجع للمجموعة المطلوب إضافة هذا المستند إليها.
البيانات WithFieldValue <AppModelType> كائن يحتوي على البيانات الخاصة بالمستند الجديد

المرتجعات:

Promise<DocumentReference<AppModelType, DbModelType>>

تم حلّ Promise مع وجود DocumentReference يشير إلى المستند الذي تم إنشاؤه حديثًا بعد كتابته في الخلفية.

الاستثناءات

خطأ - إذا لم يكن الإدخال الذي تم تقديمه مستندًا صالحًا على Firestore.

group(reference, path, pathSegments)

يتم الحصول على مثال CollectionReference يشير إلى مجموعة فرعية من reference في المسار النسبي المحدّد.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
مرجع CollectionReference <AppModelType, DbModelType> مرجع إلى مجموعة
المسار السلسلة مسار مفصول بشرطة مائلة إلى مجموعة.
شرائح المسارات سلسلة[] مقاطع المسار الإضافية المطلوب تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

CollectionReference<DocumentData، وDocumentData>

المثيل CollectionReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد زوجي من المقاطع ولا يشير إلى مجموعة.

group(reference, path, pathSegments)

يتم الحصول على مثال CollectionReference يشير إلى مجموعة فرعية من reference في المسار النسبي المحدّد.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع إلى مستند Firestore
المسار السلسلة مسار مفصول بشرطة مائلة إلى مجموعة.
شرائح المسارات سلسلة[] شرائح المسار الإضافية التي سيتم تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

CollectionReference<DocumentData، وDocumentData>

المثيل CollectionReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد زوجي من المقاطع ولا يشير إلى مجموعة.

deleteDoc(reference)

يؤدي هذا الإجراء إلى حذف المستند المُشار إليه من خلال DocumentReference المحدَّد.

لن يظهر الحذف إلا في قراءات المستند التي تحدث بعد انتهاء فترة وعد الإرجاع. إذا كان العميل غير متصل، ستفشل عملية الحذف. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع للمستند المطلوب حذفه.

المرتجعات:

وعود <باطلة>

تم حلّ Promise بعد حذف المستند بنجاح من الخلفية.

doc(reference, path, pathSegments)

يتم الحصول على نسخة افتراضية من DocumentReference تشير إلى مستند داخل reference في المسار النسبي المحدَّد. إذا لم يتم تحديد أي مسار، سيتم استخدام معرّف فريد يتم إنشاؤه تلقائيًا للسمة DocumentReference المعروضة.

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

المَعلمات

المعلمة النوع الوصف
مرجع CollectionReference <AppModelType, DbModelType> مرجع إلى مجموعة
المسار السلسلة مسار مفصول بشرطة مائلة لمستند. يجب حذفها لاستخدام أرقام التعريف التي تم إنشاؤها تلقائيًا.
شرائح المسارات سلسلة[] شرائح المسار الإضافية التي سيتم تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

DocumentReference <AppModelType, DbModelType>

المثيل DocumentReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد فردي من المقاطع ولا يشير إلى مستند.

doc(reference, path, pathSegments)

يتم الحصول على نسخة افتراضية من DocumentReference تشير إلى مستند داخل reference في المسار النسبي المحدَّد.

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع إلى مستند Firestore
المسار السلسلة مسار مفصول بشرطة مائلة لمستند.
شرائح المسارات سلسلة[] شرائح المسار الإضافية التي سيتم تطبيقها نسبةً إلى الوسيطة الأولى.

المرتجعات:

DocumentReference<DocumentData، وDocumentData>

المثيل DocumentReference

الاستثناءات

إذا كان المسار النهائي يحتوي على عدد فردي من المقاطع ولا يشير إلى مستند.

getDoc(reference)

يقرأ المستند المُشار إليه من مرجع المستند المحدّد.

يتم استرجاع جميع المستندات من الخادم مباشرةً، حتى إذا تمت قراءة المستند أو تعديله من قبل. لا تظهر التعديلات الأخيرة إلا في DocumentSnapshot التي تم استردادها إذا سبق أن تم تطبيقها من خلال الخلفية. إذا كان العميل غير متصل بالإنترنت، لن تنجح القراءة. إذا أردت استخدام التخزين المؤقت أو الاطّلاع على التعديلات المحلية، يُرجى استخدام حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع المستند المطلوب استرجاعه

المرتجعات:

وعود<DocumentSnapshot<AppModelType, DbModelType>>

تم التعامل مع وعد مع DocumentSnapshot يتضمّن محتوى المستند الحالي.

setDoc(reference, data)

تتم الكتابة على المستند المُشار إليه من خلال DocumentReference المحدَّد. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه.

ستنعكس نتيجة هذه الكتابة فقط في قراءات المستند التي تحدث بعد حل الوعد المردود. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع للمستند المراد كتابته.
البيانات WithFieldValue <AppModelType> خريطة للحقول والقيم الخاصة بالمستند

المرتجعات:

وعود <باطلة>

تم حلّ Promise بعد كتابة البيانات بنجاح في الخلفية.

الاستثناءات

خطأ - إذا لم يكن الإدخال الذي تم تقديمه مستندًا صالحًا على Firestore.

setDoc(reference, data, options)

تتم الكتابة على المستند المُشار إليه من خلال DocumentReference المحدَّد. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. في حال تقديم merge أو mergeFields، يمكن دمج البيانات المقدَّمة في مستند حالي.

ستنعكس نتيجة هذه الكتابة فقط في قراءات المستند التي تحدث بعد حل الوعد المردود. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية الكتابة. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع للمستند المراد كتابته.
البيانات Partial withFieldValue <AppModelType> خريطة للحقول والقيم الخاصة بالمستند
خيارات SetOptions كائن لضبط السلوك المحدّد

المرتجعات:

وعود <باطلة>

تم حلّ Promise بعد كتابة البيانات بنجاح في الخلفية.

الاستثناءات

خطأ - إذا لم يكن الإدخال الذي تم تقديمه مستندًا صالحًا على Firestore.

UpdateDoc(reference, data)

لتعديل الحقول في المستند المُشار إليه من خلال DocumentReference المحدَّد. سيتعذر التعديل في حال تطبيقه على مستند غير موجود.

ستنعكس نتيجة هذا التعديل فقط في قراءات المستندات التي تحدث بعد انتهاء الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية التحديث. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع للمستند المطلوب تعديله.
البيانات UpdateData<DbModelType> كائن يحتوي على الحقول والقيم المطلوب تعديل المستند باستخدامها يمكن أن تحتوي الحقول على نقاط للإشارة إلى حقول متداخلة داخل المستند.

المرتجعات:

وعود <باطلة>

تم حلّ Promise بعد كتابة البيانات بنجاح في الخلفية.

الاستثناءات

خطأ - إذا لم يكن الإدخال المقدم بيانات Firestore صالحة.

UpdateDoc(reference, field, value, moreFieldsAndValues)

لتعديل الحقول في المستند الذي تمت الإشارة إليه من قِبل DocumentReference المحدَّد، سيتعذر التعديل إذا تم تطبيقه على مستند غير موجود.

يمكن تعديل الحقول المتداخلة من خلال توفير سلاسل مسارات حقول مفصولة بالنقاط أو من خلال توفير عناصر FieldPath.

ستنعكس نتيجة هذا التعديل فقط في قراءات المستندات التي تحدث بعد انتهاء الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت، لن تنجح عملية التحديث. إذا كنت تريد الاطّلاع على التعديلات المحلية أو عمليات الكتابة المخزَّنة مؤقتًا إلى أن يكون العميل متصلاً بالإنترنت، استخدِم حزمة تطوير البرامج (SDK) الكاملة لـ Firestore.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

المَعلمات

المعلمة النوع الوصف
مرجع DocumentReference <AppModelType, DbModelType> مرجع للمستند المطلوب تعديله.
الحقل سلسلة | FieldPath الحقل الأول المطلوب تعديله.
القيمة غير معروف القيمة الأولى.
المزيد من الحقول والقيم غير معروف[] أزواج إضافية من قيم المفاتيح

المرتجعات:

وعود <باطلة>

تم حلّ Promise بعد كتابة البيانات بنجاح في الخلفية.

الاستثناءات

خطأ - إذا لم يكن الإدخال المقدم بيانات Firestore صالحة.

الدالة(لقطة، ...)

endAt(snapshot)

تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي في المستند المقدَّم (شامل). يرتبط موضع النهاية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.

Signature:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

المَعلمات

المعلمة النوع الوصف
لقطة DocumentSnapshot <AppModelType, DbModelType> لقطة للمستند التي سيتم عرضها عند الانتهاء.

المرتجعات:

QueryEndAtConstraint

A QueryEndAtConstraint للانتقال إلى query()

endBefore(snapshot)

تنشئ دالة QueryEndAtConstraint تعديل مجموعة النتائج لتنتهي قبل المستند المقدَّم (بشكل حصري). يرتبط موضع النهاية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.

Signature:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

المَعلمات

المعلمة النوع الوصف
لقطة DocumentSnapshot <AppModelType, DbModelType> لقطة للمستند التي يجب أن تنتهي قبل ذلك.

المرتجعات:

QueryEndAtConstraint

A QueryEndAtConstraint للانتقال إلى query()

startafter(snapshot)

تنشئ هذه السياسة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء بعد المستند المتوفّر (حصريًا). يرتبط موضع البداية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدّمة بترتيب orderBy في طلب البحث.

Signature:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

المَعلمات

المعلمة النوع الوصف
لقطة DocumentSnapshot <AppModelType, DbModelType> لقطة للمستند المراد البدء بعده.

المرتجعات:

QueryStartAtConstraint

QueryStartAtConstraint للانتقال إلى query()

startAt(snapshot)

تنشئ هذه الدالة QueryStartAtConstraint لتعديل مجموعة النتائج للبدء في المستند المقدَّم (شامل). يرتبط موضع البداية بترتيب الاستعلام. يجب أن يحتوي المستند على جميع الحقول المقدَّمة في orderBy الخاص بطلب البحث هذا.

Signature:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

المَعلمات

المعلمة النوع الوصف
لقطة DocumentSnapshot <AppModelType, DbModelType> لقطة للمستند المراد البدء فيها.

المرتجعات:

QueryStartAtConstraint

A QueryStartAtConstraint للانتقال إلى query().

function(values, ...)

متجه(قيم)

تنشئ قيمة VectorValue جديدة تم إنشاؤها باستخدام نسخة من مصفوفة الأرقام المحدّدة.

Signature:

export declare function vector(values?: number[]): VectorValue;

المَعلمات

المعلمة النوع الوصف
values رقم[] أنشِئ مثيل VectorValue يتضمّن نسخة من مصفوفة الأرقام هذه.

المرتجعات:

VectorValue

تم إنشاء VectorValue جديد باستخدام نسخة من مصفوفة الأرقام المحدّدة.

إضافة بادئة إلى مفاتيح

لعرض خريطة جديدة يسبق كل مفتاح فيها إلحاق المفتاح الخارجي بنقطة.

Signature:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

نوع الحقل المجمّع

تمثّل هذه السمة الاتحاد بين جميع أنواع AggregateField المتوافقة مع Firestore.

Signature:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

البيانات المجمّعة

يشير ذلك المصطلح إلى نوع يتم الحصول على مفاتيحه من AggregateSpec وتكون قيمه نتيجة التجميع الذي يتم إجراؤه من خلال السمة AggregateField المقابلة له من الإدخال AggregateSpec.

Signature:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

نوع التجميع

نوع الاتحاد الذي يمثل النوع المجمّع المطلوب تنفيذه.

Signature:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ChildUpdateFields

مساعد لحساب الحقول المتداخلة لنوع معيّن من T1. وهذا الإجراء مطلوب لتوزيع أنواع الاتحاد، مثل undefined | {...} (يحدث ذلك للمستلزمات الاختيارية) أو {a: A} | {b: B}.

في حالة الاستخدام هذه، يتم استخدام V لتوزيع أنواع الاتحاد T[K] على Record، لأنّ T[K] يتم تقييمه كتعبير وليس موزَّعًا.

يمكنك الاطّلاع على https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types.

Signature:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

رمز FirestoreErrorCode

مجموعة رموز الحالة Firestore. تكون الرموز هي نفسها للرموز التي يعرضها gRPC هنا: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

القيم المحتملة: - "تم الإلغاء": تم إلغاء العملية (عادةً بواسطة المتصل). - "غير معروف": خطأ غير معروف أو خطأ من نطاق خطأ مختلف. - 'spam-argument': حدّد العميل وسيطة غير صالحة. يُرجى العِلم أنّ هذا الشرط يختلف عن الحالة "تعذّر إكمال العملية". "وسيطة غير صالحة" تشير إلى الوسيطات التي تمثل مشاكل بغض النظر عن حالة النظام (مثل اسم حقل غير صالح). - "تم تجاوز الموعد النهائي": انتهت صلاحية الموعد النهائي قبل اكتمال العملية. بالنسبة للعمليات التي تغير حالة النظام، قد يتم عرض هذا الخطأ حتى إذا اكتملت العملية بنجاح. على سبيل المثال، قد تتأخر الاستجابة الناجحة من الخادم لفترة كافية لتنتهي صلاحية الموعد النهائي. - "لم يتم العثور على الصفحة": لم يتم العثور على بعض المستندات المطلوبة. - "موجود من قبل": بعض المستندات التي حاولنا إنشائها موجودة من قبل. - "تم رفض الإذن": لا يملك المتصل إذنًا لتنفيذ العملية المحددة. - "تم استنفاد الموارد": ربما تم استنفاد بعض الموارد، أو ربما الحصة لكل مستخدم، أو نفاد المساحة في نظام الملفات بالكامل. - 'failed-precondition': تم رفض العملية لأنّ النظام ليس في حالة مطلوبة لتنفيذ العملية. - "إلغاء": تم إلغاء العملية، وذلك عادةً بسبب مشكلة تتعلق بالتزامن مثل عمليات إلغاء المعاملة أو ما إلى ذلك - "خارج النطاق": تمت محاولة العملية خارج النطاق الصالح. - "غير مُنفذة": لم يتم تنفيذ العملية أو أنّها غير متاحة/مفعَّلة - "داخلي": أخطاء داخلية يعني ذلك أنّ بعض القيم الثابتة التي يتوقعها النظام الأساسي قد تعطّلت. إذا رأيت أحد هذه الأخطاء، فهذا يعني أن شيئًا معطّلاً للغاية. - "غير متاحة": الخدمة غير متاحة حاليًا. هذه حالة عابرة على الأرجح عابرة ويمكن تصحيحها عن طريق إعادة المحاولة بالتراجع. - "data-loss" (فقدان البيانات): تلف أو فقدان بيانات غير قابل للإصلاح. - "لم تتم المصادقة": لا يحتوي الطلب على بيانات اعتماد مصادقة صالحة للعملية.

Signature:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

حقول التحديث المتداخلة

بالنسبة إلى كل حقل (مثل "bar")، ابحث عن كل المفاتيح المضمّنة (مثل {'bar.baz': T1, 'bar.qux': T2}). اتقاطع بينها لإنشاء خريطة واحدة تحتوي على جميع المفاتيح الممكنة التي تم تصنيفها جميعًا على أنها اختيارية

Signature:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

الطلب حسب الاتجاه

يتم تحديد اتجاه عبارة orderBy() بالصيغة "desc" أو "asc" (ترتيب تنازلي أو تصاعدي)

Signature:

export declare type OrderByDirection = 'desc' | 'asc';

جزء من قيمة الحقل

على غرار Partial<T> في TypeScript، ولكنها تسمح بحذف الحقول المتداخلة وتمرير قيمة FieldValues كقيم سمات.

Signature:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

أساسي

الأنواع الأولية.

Signature:

export declare type Primitive = string | number | boolean | undefined | null;

نوع QueryConstraintType

يصِف هذا القسم قيود طلبات البحث المختلفة المتاحة في حزمة تطوير البرامج (SDK) هذه.

Signature:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

فلتر QueryFilterConstraint

QueryFilterConstraint هو نوع اتحاد مساعد يمثل QueryFieldFilterConstraint وQueryCompositeFilterConstraint.

Signature:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint هو نوع اتحاد مساعد يمثّل QueryConstraints التي تُستخدم لتضييق مجموعة المستندات أو ترتيبها، ولكنها لا تعمل على الفلترة بشكل صريح في حقل المستند. QueryNonFilterConstraintيتم إنشاء من خلال استدعاء orderBy() أو startAt() أو startafter() أو endBefore() أو endAt() أو limit() أو limitToLast() ويمكن تمريرها إلى query() لإنشاء مثيل جديد يحتوي أيضًا على مثيل جديد.QueryConstraint

Signature:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

خيارات الإعداد

كائن خيارات يضبط سلوك setDoc() وعمليات الاستدعاء. يمكن ضبط هذه الطلبات لإجراء عمليات دمج دقيقة بدلاً من استبدال المستندات المستهدفة بالكامل من خلال توفير SetOptions مع merge: true.

Signature:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

تقاطع طرق الاتحاد

وفقًا لنوع الاتحاد U = T1 | T2 | ...، يتم عرض نوع متقاطع (T1 & T2 & ...).

تستخدم الأنواع الشرطية التوزيعية والاستنتاج من الأنواع الشرطية. يعمل هذا لأن تعدد العناصر المرشحة لمتغير النوع نفسه في مواضع التباين المتباين تؤدي إلى استنتاج نوع التقاطع. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type

Signature:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

تحديث البيانات

تعديل البيانات (للاستخدام مع updateDoc()) التي تتألّف من مسارات الحقول (مثل "foo" أو "foo.baz") التي تم ربطها بالقيم تشير الحقول التي تحتوي على نقاط إلى حقول متداخلة داخل المستند. يمكن تمرير قيم الحقل كقيم للسمات.

Signature:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

أينFilterOp

يتم تحديد شروط الفلتر في عبارة where() باستخدام السلاسل '&lt;' و'&lt;=' و'==' و'!=' و'&gt;=' و'&gt;' و'array-contains' و'in' و'array-contains-any' و'not-in'.

Signature:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

مع قيمة حقل

تسمح بتمرير قيم الحقل (FieldValues) كقيمة للخاصية مع الحفاظ على أمان النوع.

Signature:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);