المهام
وظيفة | وصف |
---|---|
وظيفة (التطبيق، ...) | |
احصل على فايرستور (التطبيق) | إرجاع مثيل Firestore الافتراضي الحالي المرتبط بـ FirebaseApp المقدم . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية. |
getFirestore (التطبيق، معرف قاعدة البيانات) | (إصدار تجريبي) يُرجع مثيل Firestore الحالي المرتبط بتطبيق FirebaseApp المقدم . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية. |
تهيئةFirestore (التطبيق، الإعدادات) | تهيئة مثيل جديد لـ Cloud Firestore بالإعدادات المتوفرة. لا يمكن استدعاؤها إلا قبل أي وظائف أخرى، بما في ذلك getFirestore() . إذا كانت الإعدادات المخصصة فارغة، فإن هذه الوظيفة تعادل استدعاء getFirestore() . |
تهيئةFirestore (التطبيق، الإعدادات، معرف قاعدة البيانات) | (تجريبي) تهيئة مثيل جديد لـ Cloud Firestore بالإعدادات المتوفرة. لا يمكن استدعاؤها إلا قبل أي وظائف أخرى، بما في ذلك getFirestore() . إذا كانت الإعدادات المخصصة فارغة، فإن هذه الوظيفة تعادل استدعاء getFirestore() . |
وظيفة (فيرستور، ...) | |
المجموعة (firestore، path، pathSegments) | يحصل على مثيل CollectionReference الذي يشير إلى المجموعة في المسار المطلق المحدد. |
مجموعة المجموعة (متجر النار، معرف المجموعة) | يقوم بإنشاء وإرجاع نسخة Query جديدة تتضمن كافة المستندات الموجودة في قاعدة البيانات والمضمنة في مجموعة أو مجموعة فرعية باستخدام collectionId المحدد. |
ConnectFirestoreEmulator (firestore، host، port، options) | قم بتعديل هذا المثيل للتواصل مع محاكي Cloud Firestore. ملاحظة: يجب استدعاء هذا قبل استخدام هذا المثيل لإجراء أية عمليات. |
مستند (firestore، path، pathSegments) | الحصول على مثيل DocumentReference الذي يشير إلى المستند الموجود في المسار المطلق المحدد. |
تشغيل المعاملات (firestore، updateFunction، options) | ينفذ updateFunction المحددة ثم يحاول تنفيذ التغييرات المطبقة داخل المعاملة. إذا تغير أي مستند تمت قراءته خلال المعاملة، فسيقوم Cloud Firestore بإعادة محاولة updateFunction . إذا فشل في الالتزام بعد 5 محاولات، فستفشل المعاملة. الحد الأقصى لعدد عمليات الكتابة المسموح بها في معاملة واحدة هو 500. |
إنهاء (مخزن الإطفاء) | ينهي مثيل Firestore المقدم. بعد استدعاء terminate() يمكن فقط استخدام وظائف clearIndexedDbPersistence() . ستؤدي أي وظيفة أخرى إلى ظهور FirestoreError . لا يؤدي الإنهاء إلى إلغاء أي عمليات كتابة معلقة، ولن يتم حل أي وعود تنتظر الرد من الخادم. لإعادة التشغيل بعد الإنهاء، قم بإنشاء مثيل جديد لـ Firestore باستخدام getFirestore() . ملاحظة: في الظروف العادية، لا يلزم استدعاء الدالة terminate() . تكون هذه الوظيفة مفيدة فقط عندما تريد إجبار هذا المثيل على تحرير جميع موارده أو بالاشتراك مع ClearIndexedDbPersistence() لضمان تدمير كل الحالة المحلية بين عمليات التشغيل الاختبارية. |
WriteBatch (متجر النار) | ينشئ دفعة كتابة، تُستخدم لتنفيذ عمليات كتابة متعددة كعملية ذرية واحدة. الحد الأقصى لعدد عمليات الكتابة المسموح بها في WriteBatch واحد هو 500. لن تنعكس نتيجة عمليات الكتابة هذه إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، تفشل الكتابة. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
وظيفة() | |
عدد() | قم بإنشاء كائن AggregateField الذي يمكن استخدامه لحساب عدد المستندات في مجموعة نتائج الاستعلام. |
حذف الحقل () | إرجاع حارس للاستخدام مع updateDoc() أو setDoc() مع {merge: true} لوضع علامة على الحقل للحذف. |
معرف الوثيقة () | تقوم بإرجاع FieldPath خاص للإشارة إلى معرف المستند. يمكن استخدامه في الاستعلامات للفرز أو التصفية حسب معرف المستند. |
getFirestore() | إرجاع مثيل Firestore الافتراضي الحالي المرتبط بـ FirebaseApp الافتراضي . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية. |
الطابع الزمني للخادم () | إرجاع الحارس المستخدم مع setDoc() أو updateDoc() لتضمين الطابع الزمني الذي أنشأه الخادم في البيانات المكتوبة. |
الوظيفة (معرف قاعدة البيانات، ...) | |
getFirestore(معرف قاعدة البيانات) | (تجريبي) يُرجع مثيل Firestore الحالي المرتبط بتطبيق FirebaseApp الافتراضي . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية. |
الوظيفة (العناصر، ...) | |
إزالة المصفوفة (العناصر) | تُرجع قيمة خاصة يمكن استخدامها مع setDoc() أو تخبر الخادم بإزالة العناصر المحددة من أي قيمة مصفوفة موجودة بالفعل على الخادم. ستتم إزالة كافة مثيلات كل عنصر محدد من المصفوفة. إذا لم يكن الحقل الذي يتم تعديله مصفوفة بالفعل، فسيتم استبداله بمصفوفة فارغة. |
المصفوفة (العناصر) | تُرجع قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() والتي تخبر الخادم بدمج العناصر المحددة مع أي قيمة مصفوفة موجودة بالفعل على الخادم. ستتم إضافة كل عنصر محدد غير موجود بالفعل في المصفوفة إلى النهاية. إذا لم يكن الحقل الذي يتم تعديله مصفوفة بالفعل، فسيتم استبداله بمصفوفة تحتوي على العناصر المحددة بالضبط. |
وظيفة (المجال، ...) | |
المتوسط (الحقل) | قم بإنشاء كائن AggregateField الذي يمكن استخدامه لحساب متوسط حقل محدد عبر نطاق من المستندات في مجموعة نتائج الاستعلام. |
مجموع (حقل) | قم بإنشاء كائن AggregateField الذي يمكن استخدامه لحساب مجموع حقل محدد عبر نطاق من المستندات في مجموعة نتائج الاستعلام. |
وظيفة (مسار الحقل، ...) | |
ترتيب حسب (fieldPath، DirectionsStr) | ينشئ QueryOrderByConstraint الذي يقوم بفرز نتيجة الاستعلام حسب الحقل المحدد، اختياريًا بترتيب تنازلي بدلاً من تصاعدي. ملاحظة: المستندات التي لا تحتوي على الحقل المحدد لن تكون موجودة في نتيجة الاستعلام. |
حيث (fieldPath، opStr، القيمة) | ينشئ QueryFieldFilterConstraint الذي يفرض أن المستندات يجب أن تحتوي على الحقل المحدد وأن القيمة يجب أن تستوفي قيد العلاقة المقدم. |
وظيفة (القيم الميدانية، ...) | |
endAt(fieldValues) | ينشئ QueryEndAtConstraint الذي يعدل مجموعة النتائج لتنتهي عند الحقول المتوفرة بالنسبة لترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام. |
endBefore(fieldValues) | ينشئ QueryEndAtConstraint الذي يعدل مجموعة النتائج لتنتهي قبل الحقول المتوفرة بالنسبة لترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام. |
ابدأ بعد (قيم الحقل) | ينشئ QueryStartAtConstraint الذي يعدل مجموعة النتائج لتبدأ بعد الحقول المتوفرة بالنسبة لترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام. |
البدء عند (قيم الحقل) | ينشئ QueryStartAtConstraint الذي يعدل مجموعة النتائج للبدء في الحقول المتوفرة المتعلقة بترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقول مع ترتيب الترتيب حسب عبارات الاستعلام. |
الدالة (يسار،...) | |
مجاميع الحقل يساوي (يسار، يمين) | يقارن حقلين "AggregateField". "حالات المساواة. |
مجاميعQuerySnapshotEqual (يسار، يمين) | يقارن بين مثيلين AggregateQuerySnapshot لتحقيق المساواة. يعتبر مثيلا AggregateQuerySnapshot "متساويين" إذا كان لديهما استعلامات أساسية تقارن البيانات المتساوية والبيانات نفسها. |
استعلام متساوي (يسار، يمين) | يُرجع صحيحًا إذا كانت الاستعلامات المقدمة تشير إلى نفس المجموعة وتطبق نفس القيود. |
refEqual (يسار، يمين) | يُرجع صحيحًا إذا كانت المراجع المقدمة متساوية. |
لقطة متساوية (يسار، يمين) | يُرجع صحيحًا إذا كانت اللقطات المقدمة متساوية. |
وظيفة (الحد، ...) | |
الحد (الحد) | يقوم بإنشاء QueryLimitConstraint الذي يقوم بإرجاع المستندات المطابقة الأولى فقط. |
ليميتتولاست(الحد) | يقوم بإنشاء QueryLimitConstraint الذي يقوم بإرجاع المستندات المطابقة الأخيرة فقط. يجب عليك تحديد عبارة orderBy واحدة على الأقل لاستعلامات limitToLast ، وإلا فسيتم طرح استثناء أثناء التنفيذ. |
وظيفة (مستوى السجل، ...) | |
setLogLevel(مستوى السجل) | يضبط إسهاب سجلات Cloud Firestore (التصحيح أو الخطأ أو الصمت). |
وظيفة (ن، ...) | |
زيادة (ن) | تُرجع قيمة خاصة يمكن استخدامها مع setDoc() أو updateDoc() والتي تخبر الخادم بزيادة القيمة الحالية للحقل بالقيمة المحددة. إذا كان المعامل أو قيمة الحقل الحالية تستخدم دقة الفاصلة العائمة، فإن جميع العمليات الحسابية تتبع دلالات IEEE 754. إذا كانت كلتا القيمتين أعدادًا صحيحة، فإن القيم الموجودة خارج نطاق الأرقام الآمنة لجافا سكريبت (من Number.MIN_SAFE_INTEGER إلى Number.MAX_SAFE_INTEGER ) تخضع أيضًا لفقدان الدقة. علاوة على ذلك، بمجرد معالجتها بواسطة الواجهة الخلفية لـ Firestore، يتم تحديد جميع عمليات الأعداد الصحيحة بين -2^63 و2^63-1. إذا لم تكن قيمة الحقل الحالية من النوع number ، أو إذا لم يكن الحقل موجودًا بعد، فسيقوم التحويل بتعيين الحقل إلى القيمة المحددة. |
وظيفة (الاستعلام، ...) | |
getAggregate(استعلام، تجميعالمواصفات) | لحساب التجميعات المحددة على المستندات الموجودة في مجموعة النتائج للاستعلام المحدد دون تنزيل المستندات فعليًا. يعتبر استخدام هذه الوظيفة لإجراء عمليات التجميع فعالاً لأنه يتم تنزيل قيم التجميع النهائية فقط، وليس بيانات المستندات. يمكن لهذه الوظيفة إجراء مجموعات من المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة بشكل يمنع تنزيلها بالكامل (آلاف المستندات). |
الحصول على الكونت (استعلام) | حساب عدد المستندات في مجموعة النتائج للاستعلام المحدد دون تنزيل المستندات فعليًا. يعتبر استخدام هذه الوظيفة لحساب عدد المستندات أمرًا فعالاً لأنه يتم تنزيل العدد النهائي فقط، وليس بيانات المستندات. يمكن لهذه الوظيفة حساب المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة بشكل يمنع تنزيلها بالكامل (آلاف المستندات). |
الحصول على المستندات (الاستعلام) | ينفذ الاستعلام ويعيد النتائج في صورة QuerySnapshot . يتم تنفيذ كافة الاستعلامات مباشرة بواسطة الخادم، حتى لو تم تنفيذ الاستعلام مسبقًا. تنعكس التعديلات الأخيرة فقط في النتائج المستردة إذا تم تطبيقها بالفعل بواسطة الواجهة الخلفية. إذا كان العميل غير متصل، تفشل العملية. لرؤية النتائج المخزنة مؤقتًا مسبقًا والتعديلات المحلية، استخدم Firestore SDK الكامل. |
الاستعلام (الاستعلام، عامل التصفية المركب، الاستعلام عن القيود) | ينشئ مثيلًا جديدًا غير قابل للتغيير للاستعلام يتم توسيعه ليشمل أيضًا قيود استعلام إضافية. |
الاستعلام (الاستعلام، الاستعلام القيود) | ينشئ مثيلًا جديدًا غير قابل للتغيير للاستعلام يتم توسيعه ليشمل أيضًا قيود استعلام إضافية. |
وظيفة (الاستعلام، ...) | |
و(قيود الاستعلام) | يقوم بإنشاء QueryCompositeFilterConstraint جديد وهو عبارة عن اقتران لقيود عامل التصفية المحددة. يتضمن مرشح الاقتران مستندًا إذا كان يلبي جميع عوامل التصفية المحددة. |
أو (قيود الاستعلام) | يقوم بإنشاء QueryCompositeFilterConstraint جديد وهو عبارة عن انفصال عن قيود عامل التصفية المحددة. يشتمل مرشح الانفصال على مستند إذا كان يلبي أيًا من المرشحات المحددة. |
وظيفة (مرجع، ...) | |
addDoc(مرجع، بيانات) | أضف مستندًا جديدًا إلى CollectionReference المحدد بالبيانات المقدمة، وقم بتعيين معرف المستند إليه تلقائيًا. لن تنعكس نتيجة هذه الكتابة إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، تفشل الكتابة. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
المجموعة (المرجع، المسار، شرائح المسار) | الحصول على مثيل CollectionReference الذي يشير إلى مجموعة فرعية من reference في المسار النسبي المحدد. |
المجموعة (المرجع، المسار، شرائح المسار) | الحصول على مثيل CollectionReference الذي يشير إلى مجموعة فرعية من reference في المسار النسبي المحدد. |
حذف المستند (المرجع) | يحذف المستند المشار إليه بواسطة DocumentReference المحدد. لن ينعكس الحذف إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، تفشل عملية الحذف. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
مستند (مرجع، مسار، أجزاء المسار) | الحصول على مثيل DocumentReference الذي يشير إلى مستند ضمن reference في المسار النسبي المحدد. إذا لم يتم تحديد أي مسار، فسيتم استخدام معرف فريد يتم إنشاؤه تلقائيًا لـ DocumentReference الذي تم إرجاعه. |
مستند (مرجع، مسار، أجزاء المسار) | الحصول على مثيل DocumentReference الذي يشير إلى مستند ضمن reference في المسار النسبي المحدد. |
الحصول على الوثيقة (المرجع) | يقرأ المستند المشار إليه بواسطة مرجع المستند المحدد. يتم جلب جميع المستندات مباشرة من الخادم، حتى لو تمت قراءة المستند أو تعديله مسبقًا. تنعكس التعديلات الأخيرة فقط في DocumentSnapshot المسترجعة إذا تم تطبيقها بالفعل بواسطة الواجهة الخلفية. إذا كان العميل غير متصل، تفشل القراءة. إذا كنت ترغب في استخدام التخزين المؤقت أو الاطلاع على التعديلات المحلية، فيرجى استخدام Firestore SDK الكامل. |
setDoc(مرجع، بيانات) | يكتب إلى المستند المشار إليه بواسطة DocumentReference المحدد. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. لن تنعكس نتيجة هذه الكتابة إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، تفشل الكتابة. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
setDoc(مرجع، بيانات، خيارات) | يكتب إلى المستند المشار إليه بواسطة DocumentReference المحدد. إذا لم يكن المستند موجودًا بعد، فسيتم إنشاؤه. إذا قمت بتوفير merge أو mergeFields ، فيمكن دمج البيانات المقدمة في مستند موجود. لن تنعكس نتيجة هذه الكتابة إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، تفشل الكتابة. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
updateDoc(مرجع، بيانات) | يقوم بتحديث الحقول في المستند المشار إليه بواسطة DocumentReference المحدد. سوف يفشل التحديث إذا تم تطبيقه على مستند غير موجود. لن تنعكس نتيجة هذا التحديث إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، يفشل التحديث. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
UpdateDoc(مرجع، حقل، قيمة، moreFieldsAndValues) | تحديثات الحقول في المستند المشار إليه بواسطة DocumentReference المحدد. سيفشل التحديث إذا تم تطبيقه على مستند غير موجود. يمكن تحديث الحقول المتداخلة من خلال توفير سلاسل مسار حقل مفصولة بنقاط أو من خلال توفير كائنات FieldPath . لن تنعكس نتيجة هذا التحديث إلا في عمليات قراءة المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل، يفشل التحديث. إذا كنت ترغب في رؤية التعديلات المحلية أو عمليات الكتابة المؤقتة حتى يصبح العميل متصلاً بالإنترنت، فاستخدم Firestore SDK الكامل. |
وظيفة (لقطة، ...) | |
النهاية في (لقطة) | ينشئ QueryEndAtConstraint الذي يعدل مجموعة النتائج لتنتهي عند المستند المقدم (شاملاً). موضع النهاية يتعلق بترتيب الاستعلام. يجب أن يحتوي المستند على كافة الحقول المتوفرة في ترتيب الاستعلام. |
النهاية قبل (لقطة) | ينشئ QueryEndAtConstraint الذي يعدل مجموعة النتائج لتنتهي قبل المستند المقدم (حصريًا). موضع النهاية يتعلق بترتيب الاستعلام. يجب أن يحتوي المستند على كافة الحقول المتوفرة في ترتيب الاستعلام. |
ابدأ بعد (لقطة) | ينشئ QueryStartAtConstraint الذي يعدل مجموعة النتائج للبدء بعد المستند المقدم (حصريًا). موضع البداية يتعلق بترتيب الاستعلام. يجب أن يحتوي المستند على كافة الحقول المتوفرة في ترتيب الاستعلام. |
البداية في (لقطة) | ينشئ QueryStartAtConstraint الذي يعدل مجموعة النتائج للبدء في المستند المقدم (ضمناً). موضع البداية يتعلق بترتيب الاستعلام. يجب أن يحتوي المستند على كافة الحقول المتوفرة في orderBy هذا الاستعلام. |
الطبقات
فصل | وصف |
---|---|
AggregateField | يمثل تجميعًا يمكن تنفيذه بواسطة Firestore. |
AggregateQuerySnapshot | نتائج تنفيذ استعلام التجميع. |
بايت | كائن غير قابل للتغيير يمثل مجموعة من البايتات. |
مرجع المجموعة | يمكن استخدام كائن CollectionReference لإضافة المستندات والحصول على مراجع المستندات والاستعلام عن المستندات (باستخدام query() ). |
وثيقة مرجعية | يشير DocumentReference إلى موقع المستند في قاعدة بيانات Firestore ويمكن استخدامه لكتابة الموقع أو قراءته أو الاستماع إليه. قد يكون المستند الموجود في الموقع المشار إليه موجودًا أو غير موجود. |
DocumentSnapshot | يحتوي DocumentSnapshot على البيانات المقروءة من مستند موجود في قاعدة بيانات Firestore. يمكن استخراج البيانات باستخدام .data() أو .get(<field>) للحصول على حقل معين. بالنسبة إلى DocumentSnapshot التي تشير إلى مستند غير موجود، فإن أي وصول للبيانات سيرجع "غير محدد". يمكنك استخدام الطريقة exists() للتحقق بشكل صريح من وجود المستند. |
مسار الحقل | يشير FieldPath إلى حقل في المستند. قد يتكون المسار من اسم حقل واحد (يشير إلى حقل المستوى الأعلى في المستند)، أو قائمة بأسماء الحقول (يشير إلى حقل متداخل في المستند). قم بإنشاء FieldPath من خلال توفير أسماء الحقول. إذا تم توفير أكثر من اسم حقل واحد، فسيشير المسار إلى حقل متداخل في المستند. |
قيمة الحقل | القيم الحارسة التي يمكن استخدامها عند كتابة حقول المستند باستخدام set() أو update() . |
فايرستور | واجهة خدمة Cloud Firestore. لا تستدعي هذا المنشئ مباشرة. بدلاً من ذلك، استخدم getFirestore() . |
FirestoreError | خطأ تم إرجاعه بواسطة عملية Firestore. |
نقطة جغرافية | كائن ثابت يمثل موقعًا جغرافيًا في Firestore. يتم تمثيل الموقع كزوج من خطوط الطول والعرض. تقع قيم خط العرض في نطاق [-90، 90]. تقع قيم خط الطول في نطاق [-180، 180]. |
استفسار | يشير Query إلى استعلام يمكنك قراءته أو الاستماع إليه. يمكنك أيضًا إنشاء كائنات Query محسنة عن طريق إضافة المرشحات والترتيب. |
QueryCompositeFilterConstraint | يتم استخدام QueryCompositeFilterConstraint لتضييق نطاق مجموعة المستندات التي يتم إرجاعها بواسطة استعلام Firestore عن طريق إجراء عملية OR أو AND المنطقية لـ QueryFieldFilterConstraint المتعددة s أو QueryCompositeFilterConstraint س. يتم إنشاء QueryCompositeFilterConstraint عن طريق استدعاء or() أو and() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryCompositeFilterConstraint . |
QueryConstraint | يتم استخدام QueryConstraint لتضييق نطاق مجموعة المستندات التي يتم إرجاعها بواسطة استعلام Firestore. يتم إنشاء QueryConstraint عن طريق استدعاء Where() ، ترتيب حسب() ، تبدأ في() ، ابدأ بعد () ، النهاية قبل () ، يغلق عند مستوى() ، حد() و LimitToLast() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryConstraint هذا. |
QueryDocumentSnapshot | يحتوي QueryDocumentSnapshot على بيانات تمت قراءتها من مستند في قاعدة بيانات Firestore كجزء من الاستعلام. الوثيقة مضمونة الوجود ويمكن استخراج بياناتها باستخدام .data() أو .get(<field>) للحصول على حقل معين. يقدم QueryDocumentSnapshot نفس سطح واجهة برمجة التطبيقات (API) الذي يوفره DocumentSnapshot . نظرًا لأن نتائج الاستعلام تحتوي على مستندات موجودة فقط، فستكون الخاصية exists دائمًا صحيحة ولن تُرجع data() أبدًا القيمة "غير محددة". |
QueryEndAtConstraint | يتم استخدام QueryEndAtConstraint لاستبعاد المستندات من نهاية مجموعة النتائج التي يتم إرجاعها بواسطة استعلام Firestore. يتم إنشاء QueryEndAtConstraint عن طريق استدعاء endAt() أو endBefore() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryEndAtConstraint هذا. |
QueryFieldFilterConstraint | يتم استخدام QueryFieldFilterConstraint لتضييق نطاق مجموعة المستندات التي يتم إرجاعها بواسطة استعلام Firestore عن طريق التصفية في حقل مستند واحد أو أكثر. يتم إنشاء QueryFieldFilterConstraint عن طريق استدعاء Where() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryFieldFilterConstraint هذا. |
QueryLimitConstraint | يتم استخدام QueryLimitConstraint للحد من عدد المستندات التي يتم إرجاعها بواسطة استعلام Firestore. يتم إنشاء QueryLimitConstraint عن طريق استدعاء Limit() أو LimitToLast() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryLimitConstraint هذا. |
الاستعلام حسب القيد | يتم استخدام QueryOrderByConstraint لفرز مجموعة المستندات التي يتم إرجاعها بواسطة استعلام Firestore. يتم إنشاء QueryOrderByConstraint عن طريق استدعاء orderBy() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryOrderByConstraint هذا. ملاحظة: المستندات التي لا تحتوي على حقل orderBy لن تكون موجودة في نتيجة الاستعلام. |
QuerySnapshot | يحتوي QuerySnapshot على صفر أو أكثر من كائنات DocumentSnapshot التي تمثل نتائج الاستعلام. يمكن الوصول إلى المستندات كمصفوفة عبر خاصية docs أو تعدادها باستخدام طريقة forEach . يمكن تحديد عدد المستندات من خلال الخصائص empty size . |
QueryStartAtConstraint | يتم استخدام QueryStartAtConstraint لاستبعاد المستندات من بداية مجموعة النتائج التي يتم إرجاعها بواسطة استعلام Firestore. يتم إنشاء QueryStartAtConstraint عن طريق استدعاء startAt() أو startAfter() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryStartAtConstraint هذا. |
الطابع الزمني | يمثل Timestamp نقطة زمنية مستقلة عن أي منطقة زمنية أو تقويم، ويتم تمثيلها بالثواني وكسور الثواني بدقة النانو ثانية بتوقيت UTC Epoch. تم ترميزه باستخدام التقويم الجريجوري Proleptic الذي يمتد التقويم الغريغوري إلى الوراء إلى السنة الأولى. يتم ترميزها على افتراض أن طول كل الدقائق هو 60 ثانية، أي أن الثواني الكبيسة "يتم تلطيخها" بحيث لا تكون هناك حاجة إلى جدول ثانية كبيسة للتفسير. النطاق من 0001-01-01T00:00:00Z إلى 9999-12-31T23:59:59.999999999Z. للحصول على أمثلة ومزيد من المواصفات، راجع تعريف الطابع الزمني . |
عملية | إشارة إلى الصفقة. يوفر كائن Transaction الذي تم تمريره إلى updateFunction الخاصة بالمعاملة طرقًا لقراءة البيانات وكتابتها في سياق المعاملة. راجع runTransaction() . |
WriteBatch | دفعة كتابة، تُستخدم لإجراء عمليات كتابة متعددة كوحدة ذرية واحدة. يمكن الحصول على كائن WriteBatch عن طريق استدعاء writeBatch() . يوفر طرقًا لإضافة عمليات الكتابة إلى مجموعة الكتابة. لن يتم الالتزام بأي من عمليات الكتابة (أو تكون مرئية محليًا) حتى يتم استدعاء WriteBatch.commit() . |
واجهات
واجهه المستخدم | وصف |
---|---|
المواصفات الإجمالية | يحدد مجموعة من المجموعات والأسماء المستعارة الخاصة بها. |
DocumentData | بيانات المستند (للاستخدام مع setDoc()) ) يتكون من الحقول المعينة للقيم. |
FirestoreDataConverter | المحول المستخدم بواسطة withConverter() لتحويل كائنات المستخدم من النوع AppModelType إلى بيانات Firestore من النوع DbModelType . يتيح لك استخدام المحول تحديد وسيطات النوع العامة عند تخزين الكائنات واستردادها من Firestore. في هذا السياق، يعد "AppModel" فئة يتم استخدامها في التطبيق لتجميع المعلومات والوظائف ذات الصلة معًا. يمكن لمثل هذه الفئة، على سبيل المثال، أن تحتوي على خصائص ذات أنواع بيانات معقدة ومتداخلة، وخصائص مستخدمة للحفظ، وخصائص الأنواع التي لا يدعمها Firestore (مثل symbol و bigint )، والوظائف المساعدة التي تنفذ عمليات مركبة. هذه الفئات ليست مناسبة و/أو من الممكن تخزينها في قاعدة بيانات Firestore. بدلاً من ذلك، يجب تحويل مثيلات هذه الفئات إلى "كائنات JavaScript قديمة عادية" (POJOs) ذات خصائص بدائية حصرية، ومن المحتمل أن تكون متداخلة داخل POJOs أو مصفوفات POJOs أخرى. في هذا السياق، يُشار إلى هذا النوع باسم "DbModel" وسيكون كائنًا مناسبًا للاستمرار في Firestore. للراحة، يمكن للتطبيقات تنفيذ FirestoreDataConverter وتسجيل المحول باستخدام كائنات Firestore، مثل DocumentReference أو Query ، لتحويل AppModel إلى DbModel تلقائيًا عند تخزينه في Firestore، وتحويل DbModel إلى AppModel عند الاسترداد من Firestore. |
إعدادات | يحدد التكوينات المخصصة لمثيل Cloud Firestore الخاص بك. يجب عليك تعيين هذه قبل استدعاء أي طرق أخرى. |
خيارات المعاملة | خيارات لتخصيص سلوك المعاملة. |
اكتب الأسماء المستعارة
اكتب الاسم المستعار | وصف |
---|---|
AddPrefixToKeys | إرجاع خريطة جديدة حيث يكون كل مفتاح مسبوقًا بالمفتاح الخارجي الملحق بنقطة. |
AggregateFieldType | اتحاد جميع أنواع AggregateField التي يدعمها Firestore. |
AggregateSpecData | نوع يتم أخذ مفاتيحه من AggregateSpec ، وتكون قيمه نتيجة التجميع الذي يتم إجراؤه بواسطة AggregateField المقابل من مدخلات AggregateSpec . |
نوع التجميع | نوع الاتحاد الذي يمثل النوع الإجمالي المطلوب تنفيذه. |
حقول تحديث الطفل | مساعد لحساب الحقول المتداخلة لنوع معين 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 القيم المحتملة: - "تم الإلغاء": تم إلغاء العملية (عادة بواسطة المتصل). - 'غير معروف': خطأ غير معروف أو خطأ من مجال خطأ مختلف. - "وسيطة غير صالحة": حدد العميل وسيطة غير صالحة. لاحظ أن هذا يختلف عن "الشرط المسبق الفاشل". تشير "الوسيطة غير الصالحة" إلى الوسائط التي تمثل مشكلة بغض النظر عن حالة النظام (على سبيل المثال، اسم حقل غير صالح). - "تم تجاوز الموعد النهائي": انتهى الموعد النهائي قبل أن تكتمل العملية. بالنسبة للعمليات التي تغير حالة النظام، قد يتم إرجاع هذا الخطأ حتى لو اكتملت العملية بنجاح. على سبيل المثال، قد يتم تأخير الاستجابة الناجحة من الخادم لفترة كافية حتى انتهاء الموعد النهائي. - "غير موجود": لم يتم العثور على بعض المستندات المطلوبة. - "موجود بالفعل": بعض المستندات التي حاولنا إنشاءها موجودة بالفعل. - "تم رفض الإذن": ليس لدى المتصل إذن بتنفيذ العملية المحددة. - "استنفاد الموارد": تم استنفاد بعض الموارد، ربما حصة لكل مستخدم، أو ربما نظام الملفات بأكمله غير متوفر في المساحة. - "فشل الشرط المسبق": تم رفض العملية لأن النظام ليس في الحالة المطلوبة لتنفيذ العملية. - 'تم إحباط': تم إحباط العملية، عادةً بسبب مشكلة في التزامن مثل إحباط المعاملة، وما إلى ذلك. - 'خارج النطاق': تمت محاولة العملية بعد النطاق الصالح. - "غير منفذة": لم يتم تنفيذ العملية أو أنها غير مدعومة/ممكّنة. - 'داخلي': أخطاء داخلية. يعني أن بعض الثوابت المتوقعة من النظام الأساسي قد تم كسرها. إذا رأيت أحد هذه الأخطاء، فهذا يعني أن هناك شيئًا مكسورًا للغاية. - "غير متاح": الخدمة غير متاحة حاليًا. من المرجح أن تكون هذه حالة عابرة ويمكن تصحيحها عن طريق إعادة المحاولة مع التراجع. - "فقدان البيانات": فقدان البيانات أو تلفها بشكل غير قابل للاسترداد. - "غير مصادق عليه": لا يحتوي الطلب على بيانات اعتماد مصادقة صالحة للعملية. |
NestedUpdateFields | لكل حقل (على سبيل المثال "شريط")، ابحث عن جميع المفاتيح المتداخلة (على سبيل المثال { 'bar.baz': T1، 'bar.qux': T2 } ). قم بتقاطعها معًا لإنشاء خريطة واحدة تحتوي على جميع المفاتيح الممكنة والتي تم تحديدها جميعًا على أنها اختيارية |
OrderByDirection | يتم تحديد اتجاه جملة orderBy() كـ "تنازلي" أو "تصاعدي" (تنازلي أو تصاعدي). |
PartialWithFieldValue | يشبه Partial<T> الخاص بـ Typescript، ولكنه يسمح بحذف الحقول المتداخلة وتمرير FieldValues كقيم خصائص. |
بدائية | أنواع بدائية. |
QueryConstraintType | يصف قيود الاستعلام المختلفة المتوفرة في SDK هذا. |
QueryFilterConstraint | QueryFilterConstraint هو نوع اتحاد مساعد يمثل QueryFieldFilterConstraint و QueryCompositeFilterConstraint . |
QueryNonFilterConstraint | QueryNonFilterConstraint هو نوع موحد مساعد يمثل QueryConstraints التي يتم استخدامها لتضييق أو ترتيب مجموعة المستندات، ولكن لا يتم تصفيتها بشكل صريح في حقل المستند. يتم إنشاء QueryNonFilterConstraint عن طريق استدعاء orderBy() ، تبدأ في() ، ابدأ بعد () ، النهاية قبل () ، يغلق عند مستوى() أو Limit() أو LimitToLast() ويمكن بعد ذلك تمريرها إلى query() لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryConstraint . |
خيارات الضبط | كائن خيارات يقوم بتكوين سلوك 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 -يكتب |
تحديث البيانات | تحديث البيانات (للاستخدام مع updateDoc()) ) التي تتكون من مسارات الحقول (على سبيل المثال 'foo' أو 'foo.baz') المعينة إلى القيم. تشير الحقول التي تحتوي على نقاط إلى الحقول المتداخلة داخل المستند. يمكن تمرير FieldValues كقيم خاصية. |
WhereFilterOp | يتم تحديد شروط التصفية في جملة Where() باستخدام السلاسل '<'، '<='، '=='، '!='، '>='، '>'، 'array-contains' و"في"، و"المصفوفة تحتوي على أي"، و"ليس في". |
مع قيمة الحقل | يسمح بتمرير FieldValues كقيمة خاصية مع الحفاظ على أمان النوع. |
وظيفة (التطبيق، ...)
احصل على فايرستور (التطبيق)
إرجاع مثيل Firestore الافتراضي الحالي المرتبط بـ FirebaseApp المقدم . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية.
إمضاء:
export declare function getFirestore(app: FirebaseApp): Firestore;
حدود
معامل | يكتب | وصف |
---|---|---|
برنامج | FirebaseApp | مثيل FirebaseApp الذي يرتبط به مثيل Firestore الذي تم إرجاعه. |
عائدات:
مثيل Firestore للتطبيق المقدم.
getFirestore (التطبيق، معرف قاعدة البيانات)
يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطورين وقد تتغير بناءً على التعليقات التي نتلقاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة الإنتاج.
إرجاع مثيل Firestore الحالي المرتبط بـ FirebaseApp المقدم . في حالة عدم وجود مثيل، قم بتهيئة مثيل جديد بالإعدادات الافتراضية.
إمضاء:
export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
حدود
معامل | يكتب | وصف |
---|---|---|
برنامج | FirebaseApp | مثيل FirebaseApp الذي يرتبط به مثيل Firestore الذي تم إرجاعه. |
معرف قاعدة البيانات | خيط | اسم قاعدة البيانات. |
عائدات:
مثيل Firestore للتطبيق المقدم.
تهيئةFirestore (التطبيق، الإعدادات)
تهيئة مثيل جديد لـ Cloud Firestore بالإعدادات المتوفرة. لا يمكن استدعاؤها إلا قبل أي وظائف أخرى، بما في ذلك getFirestore() . إذا كانت الإعدادات المخصصة فارغة، فإن هذه الوظيفة تعادل استدعاء getFirestore() .
إمضاء:
export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;
حدود
معامل | يكتب | وصف |
---|---|---|
برنامج | FirebaseApp | FirebaseApp الذي سيتم ربط مثيل Firestore به. |
إعدادات | إعدادات | كائن إعدادات لتكوين مثيل Firestore . |
عائدات:
مثيل Firestore
تمت تهيئته حديثًا.
تهيئةFirestore (التطبيق، الإعدادات، معرف قاعدة البيانات)
يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطورين وقد تتغير بناءً على التعليقات التي نتلقاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة الإنتاج.
تهيئة مثيل جديد لـ Cloud Firestore بالإعدادات المتوفرة. لا يمكن استدعاؤها إلا قبل أي وظائف أخرى، بما في ذلك getFirestore() . إذا كانت الإعدادات المخصصة فارغة، فإن هذه الوظيفة تعادل استدعاء getFirestore() .
إمضاء:
export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;
حدود
معامل | يكتب | وصف |
---|---|---|
برنامج | FirebaseApp | FirebaseApp الذي سيتم ربط مثيل Firestore به. |
إعدادات | إعدادات | كائن إعدادات لتكوين مثيل Firestore . |
معرف قاعدة البيانات | خيط | اسم قاعدة البيانات. |
عائدات:
مثيل Firestore
تمت تهيئته حديثًا.
وظيفة (فيرستور، ...)
المجموعة (firestore، path، pathSegments)
يحصل على مثيل CollectionReference
الذي يشير إلى المجموعة في المسار المطلق المحدد.
إمضاء:
export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
firestore | فايرستور | إشارة إلى مثيل Firestore الجذر. |
طريق | خيط | مسار مفصول بشرطة مائلة إلى مجموعة. |
pathSegments | خيط[] | مقاطع مسار إضافية سيتم تطبيقها بالنسبة إلى الوسيطة الأولى. |
عائدات:
مرجع المجموعة < بيانات الوثيقة ، بيانات الوثيقة >
مثيل CollectionReference
.
الاستثناءات
إذا كان المسار النهائي يحتوي على عدد زوجي من المقاطع ولا يشير إلى مجموعة.
مجموعة المجموعة (متجر النار، معرف المجموعة)
إنشاء وإرجاع مثيل Query
جديد يتضمن جميع المستندات الموجودة في قاعدة البيانات المضمنة في مجموعة أو مجموعة فرعية باستخدام collectionId
المحدد .
إمضاء:
export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
firestore | فايرستور | إشارة إلى مثيل الجذر Firestore . |
CollectionId | خيط | يحدد المجموعات للاستعلام. سيتم تضمين كل مجموعة أو جمعية فرعية مع هذا المعرف كجزء آخر من مساره. لا يمكن أن تحتوي على مائلة. |
عائدات:
استفسار < documentData ، documentData >
Query
الذي تم إنشاؤه .
ConnectFirestoreemulator (Firestore ، مضيف ، منفذ ، خيارات)
قم بتعديل هذه الحالة للتواصل مع محاكي Firestore Cloud.
إمضاء:
export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
mockUserToken?: EmulatorMockTokenOptions | string;
}): void;
حدود
معامل | يكتب | وصف |
---|---|---|
فايرستور | فايرستور | مثيل Firestore للتكوين للاتصال بالمحاكي. |
يستضيف | خيط | مضيف المحاكي (على سبيل المثال: LocalHost). |
ميناء | رقم | منفذ المحاكي (على سبيل المثال: 9000). |
خيارات | {mockusertoken؟: emulatormocktokenoptions | خيط؛ } |
عائدات:
فارغ
DOC (Firestore ، Path ، PathSegments)
يحصل على مثيل DocumentReference
الذي يشير إلى المستند في المسار المطلق المحدد.
إمضاء:
export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
فايرستور | فايرستور | إشارة إلى مثيل الجذر Firestore . |
طريق | خيط | مسار مفصل للخلع إلى وثيقة. |
المسارات | خيط[] | شرائح المسار الإضافية التي سيتم تطبيقها بالنسبة للحجة الأولى. |
عائدات:
وثيقة مرجعية < documentData ، documentData >
مثيل DocumentReference
.
الاستثناءات
إذا كان المسار النهائي يحتوي على عدد فردي من الأجزاء ولم يشير إلى وثيقة.
RunTransaction (Firestore ، UpdateFunction ، Options)
ينفذ updateFunction
المحدد ثم يحاول ارتكاب التغييرات المطبقة في المعاملة. إذا تغيرت أي مستند في المعاملة ، فإن Cloud updateFunction
. إذا فشلت في الالتزام بعد 5 محاولات ، فإن المعاملة تفشل.
الحد الأقصى لعدد الكتابة المسموح به في معاملة واحدة هو 500.
إمضاء:
export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;
حدود
معامل | يكتب | وصف |
---|---|---|
فايرستور | فايرستور | إشارة إلى قاعدة بيانات Firestore لتشغيل هذه المعاملة ضد. |
updatefunction | (المعاملة: المعاملة ) => الوعد <T> | الوظيفة للتنفيذ في سياق المعاملة. |
خيارات | المعاملات | كائن خيارات لتكوين أقصى عدد من المحاولات للالتزام. |
عائدات:
الوعد <T>
إذا أكملت المعاملة بنجاح أو تم إحباطها بشكل صريح (أعاد updateFunction
وعدًا فاشلاً) ، فإن الوعد الذي تم إرجاعه بواسطة updateFunction
عاد هنا. خلاف ذلك ، إذا فشلت المعاملة ، يتم إرجاع الوعد المرفوض مع خطأ الفشل المقابل.
إنهاء (Firestore)
ينتهي مثيل Firestore
المقدم.
بعد استدعاء terminate()
فقط يمكن استخدام وظائف clearIndexedDbPersistence()
. أي وظيفة أخرى سوف ترمي FirestoreError
. لا يلغي الإنهاء أي كتابة معلقة ، ولن يتم حل أي وعود تنتظر استجابة من الخادم.
لإعادة التشغيل بعد الإنهاء ، قم بإنشاء مثيل جديد لـ Firestore
مع GetFirestore () .
إمضاء:
export declare function terminate(firestore: Firestore): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
فايرستور | فايرستور | مثال Firestore لإنهاء. |
عائدات:
وعد<باطل>
Promise
يتم حله عند إنهاء المثيل بنجاح.
WriteBatch (Firestore)
ينشئ مجموعة الكتابة ، تستخدم لأداء عمليات كتابة متعددة كعملية ذرية واحدة. الحد الأقصى لعدد الكتابة المسموح بها في كتاب واحد هو 500.
لن تنعكس نتيجة هذه الكتابة إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل ، فإن الكتابة تفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function writeBatch(firestore: Firestore): WriteBatch;
حدود
معامل | يكتب | وصف |
---|---|---|
فايرستور | فايرستور |
عائدات:
WriteBatch
التي يمكن استخدامها لتنفيذ العديد من الكتابة.
وظيفة()
عدد()
قم بإنشاء كائن AgegregateField يمكن استخدامه لحساب عدد المستندات في مجموعة النتائج من الاستعلام.
إمضاء:
export declare function count(): AggregateField<number>;
عائدات:
إطعام <رقم>
Deletefield ()
إرجاع Sentinel للاستخدام مع updatedoc () أو setDOC () مع {merge: true}
لوضع علامة على حقل للحذف.
إمضاء:
export declare function deleteField(): FieldValue;
عائدات:
documentId ()
إرجاع FieldPath
حارس خاص للإشارة إلى معرف المستند. يمكن استخدامه في الاستعلامات لفرز أو تصفية بواسطة معرف المستند.
إمضاء:
export declare function documentId(): FieldPath;
عائدات:
getFirestore ()
إرجاع مثيل Firestore الافتراضي الموجود المرتبط بـ FirebaseApp الافتراضي . في حالة عدم وجود مثيل ، قم بتهيئة مثيل جديد بإعدادات افتراضية.
إمضاء:
export declare function getFirestore(): Firestore;
عائدات:
مثيل Firestore للتطبيق المقدم.
servertimestamp ()
إرجاع Sentinel المستخدمة مع setDoc () أو updatedOC () لتضمين طابع زمني تم إنشاؤه بواسطة الخادم في البيانات المكتوبة.
إمضاء:
export declare function serverTimestamp(): FieldValue;
عائدات:
وظيفة (databaseid ، ...)
getFirestore (databaseid)
يتم توفير واجهة برمجة التطبيقات هذه كمعاينة للمطورين وقد تتغير بناءً على التعليقات التي نتلقاها. لا تستخدم واجهة برمجة التطبيقات هذه في بيئة الإنتاج.
إرجاع مثيل Firestore الحالي المرتبط بـ FirebaseApps الافتراضي . في حالة عدم وجود مثيل ، قم بتهيئة مثيل جديد بإعدادات افتراضية.
إمضاء:
export declare function getFirestore(databaseId: string): Firestore;
حدود
معامل | يكتب | وصف |
---|---|---|
DatabaseId | خيط | اسم قاعدة البيانات. |
عائدات:
مثيل Firestore للتطبيق المقدم.
وظيفة (عناصر ، ...)
arrayremove (عناصر)
إرجاع قيمة خاصة يمكن استخدامها مع setDoc () أو تخبر الخادم بإزالة العناصر المعطاة من أي قيمة صفيف موجودة بالفعل على الخادم. ستتم إزالة جميع حالات كل عنصر محدد من الصفيف. إذا لم يكن الحقل الذي يتم تعديله بالفعل صفيفًا ، فسيتم كتابة صفيف فارغ.
إمضاء:
export declare function arrayRemove(...elements: unknown[]): FieldValue;
حدود
معامل | يكتب | وصف |
---|---|---|
عناصر | مجهول[] | العناصر لإزالتها من الصفيف. |
عائدات:
حارس FieldValue
للاستخدام في مكالمة إلى setDoc()
أو updateDoc()
Arrayunion (عناصر)
إرجاع قيمة خاصة يمكن استخدامها مع setDoc () أو updatedOC () التي تخبر الخادم باتحاد العناصر المعطاة مع أي قيمة صفيف موجودة بالفعل على الخادم. سيتم إضافة كل عنصر محدد غير موجود بالفعل في الصفيف إلى النهاية. إذا لم يكن الحقل الذي يتم تعديله بالفعل صفيفًا ، فسيتم كتابة صفيف مع صفيف يحتوي على العناصر المحددة بالضبط.
إمضاء:
export declare function arrayUnion(...elements: unknown[]): FieldValue;
حدود
معامل | يكتب | وصف |
---|---|---|
عناصر | مجهول[] | العناصر إلى الاتحاد في الصفيف. |
عائدات:
حارس FieldValue
للاستخدام في مكالمة إلى setDoc()
أو updateDoc()
.
وظيفة (الحقل ، ...)
المتوسط (الحقل)
قم بإنشاء كائن FailgRegateField يمكن استخدامه لحساب متوسط حقل محدد على نطاق من المستندات في مجموعة النتائج من الاستعلام.
إمضاء:
export declare function average(field: string | FieldPath): AggregateField<number | null>;
حدود
معامل | يكتب | وصف |
---|---|---|
مجال | سلسلة | ميدان | يحدد الحقل إلى المتوسط عبر مجموعة النتائج. |
عائدات:
إطعام <العدد | فارغ>
مجموع (حقل)
قم بإنشاء كائن AggregateField يمكن استخدامه لحساب مجموع الحقل المحدد على مجموعة من المستندات في مجموعة النتائج من الاستعلام.
إمضاء:
export declare function sum(field: string | FieldPath): AggregateField<number>;
حدود
معامل | يكتب | وصف |
---|---|---|
مجال | سلسلة | ميدان | يحدد الحقل لتجاوز مجموعة النتائج. |
عائدات:
إطعام <رقم>
وظيفة (FieldPath ، ...)
ترتيب حسب (fieldPath، DirectionsStr)
يقوم بإنشاء QueryOrderByConstraint الذي يقوم بفرز نتيجة الاستعلام بواسطة الحقل المحدد ، اختياريًا بترتيب تنازلي بدلاً من الصعود.
إمضاء:
export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
ميدان | سلسلة | ميدان | الحقل لفرز بواسطة. |
توجيهات | Orderbydirection | الاتجاه الاختياري للفرز بواسطة ("ASC" أو "DESC"). إذا لم يتم تحديده ، فسيصعد الطلب. |
عائدات:
تم إنشاء QueryOrderByConstraint .
حيث (FieldPath ، Opstr ، Value)
ينشئ QueryFieldFilterConstraint الذي ينفذ أن المستندات يجب أن تحتوي على الحقل المحدد وأن القيمة يجب أن تفي بقيود العلاقة المقدمة.
إمضاء:
export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
ميدان | سلسلة | ميدان | الطريق للمقارنة |
أوبستر | WhateFilterop | سلسلة التشغيل (على سبيل المثال "& lt ؛" ، "& lt ؛ =" ، "==" ، "& lt ؛" ، "& lt ؛ =" ، "! ="). |
قيمة | مجهول | قيمة المقارنة |
عائدات:
تم إنشاء QueryFieldFilterConstraint .
وظيفة (القيم الحقل ، ...)
endat (القيم الميدانية)
ينشئ queryendatconstraint الذي يعدل النتيجة التي تم تعيينها في الحقول المقدمة بالنسبة إلى ترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقل مع ترتيب الطلب بواسطة بنود الاستعلام.
إمضاء:
export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
القيم الميدانية | مجهول[] | قيم الحقل لإنهاء هذا الاستعلام في ، من أجل ترتيب الاستعلام عن طريق. |
عائدات:
queryendatconstraint لتمرير query()
endbefore (القيم الميدانية)
ينشئ queryendatconstraint الذي يعدل النتيجة التي تم تعيينها قبل أن تنتهي قبل الحقول المقدمة بالنسبة إلى ترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقل مع ترتيب الطلب بواسطة بنود الاستعلام.
إمضاء:
export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
القيم الميدانية | مجهول[] | قيم الحقل لإنهاء هذا الاستعلام من قبل ، من أجل ترتيب الاستعلام عن طريق. |
عائدات:
queryendatconstraint لتمرير query()
ابدأ بعد (قيم الحقل)
ينشئ QueryStartAtconstraint الذي يعدل النتيجة التي تم تعيينها للبدء بعد الحقول المقدمة بالنسبة إلى ترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقل مع ترتيب الطلب بواسطة بنود الاستعلام.
إمضاء:
export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
القيم الميدانية | مجهول[] | قيم الحقل لبدء هذا الاستعلام بعد ، حسب ترتيب الاستعلام عن طريق. |
عائدات:
querystartatconstraint لتمرير query()
Startat (القيم الميدانية)
ينشئ QueryStartAtconstraint يعدل النتيجة التي تم تعيينها للبدء في الحقول المقدمة بالنسبة إلى ترتيب الاستعلام. يجب أن يتطابق ترتيب قيم الحقل مع ترتيب الطلب بواسطة بنود الاستعلام.
إمضاء:
export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
القيم الميدانية | مجهول[] | قيم الحقل لبدء هذا الاستعلام في ترتيب طلب الاستعلام بواسطة. |
عائدات:
querystartatconstraint لتمرير query()
.
الدالة (يسار،...)
assregatefieldequal (يسار ، يمين)
يقارن اثنين ' حالات للمساواة.
إمضاء:
export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;
حدود
معامل | يكتب | وصف |
---|---|---|
غادر | إطعام <مجهول> | قارن هذا المجال المطبوع مع right . |
يمين | إطعام <مجهول> | قارن هذا الإحضار مع left . |
عائدات:
منطقية
accregatequerysnapshotequal (يسار ، يمين)
يقارن اثنين من حالات AggregateQuerySnapshot
للمساواة.
تعتبر حالتان AggregateQuerySnapshot
"متساوية" إذا كان لديهم استعلامات أساسية تقارن المساواة ، ونفس البيانات.
إمضاء:
export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;
حدود
معامل | يكتب | وصف |
---|---|---|
غادر | Aggregatequerysnapshot <comphectpectype ، appmodeltype ، dbmodeltype> | أول AggregateQuerySnapshot للمقارنة. |
يمين | Aggregatequerysnapshot <comphectpectype ، appmodeltype ، dbmodeltype> | المجموعة الثانية AggregateQuerySnapshot للمقارنة. |
عائدات:
منطقية
true
إذا كانت الكائنات "متساوية" ، كما هو محدد أعلاه ، أو false
ذلك.
Queryequal (يسار ، يمين)
إرجاع صحيح إذا كانت الاستعلامات المقدمة تشير إلى نفس المجموعة وتطبيق نفس القيود.
إمضاء:
export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;
حدود
معامل | يكتب | وصف |
---|---|---|
غادر | استفسار <appmodeltype ، dbmodeltype> | Query للمقارنة. |
يمين | استفسار <appmodeltype ، dbmodeltype> | Query للمقارنة. |
عائدات:
منطقية
صحيح إذا كانت المراجع تشير إلى نفس الموقع في نفس قاعدة بيانات Firestore.
refequal (يسار ، يمين)
إرجاع صحيح إذا كانت المراجع المقدمة متساوية.
إمضاء:
export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;
حدود
معامل | يكتب | وصف |
---|---|---|
غادر | وثيقة مرجعية <appmodeltype ، dbmodeltype> | جمع <appmodeltype ، dbmodeltype> | إشارة إلى المقارنة. |
يمين | وثيقة مرجعية <appmodeltype ، dbmodeltype> | جمع <appmodeltype ، dbmodeltype> | إشارة إلى المقارنة. |
عائدات:
منطقية
صحيح إذا كانت المراجع تشير إلى نفس الموقع في نفس قاعدة بيانات Firestore.
Snapshotequal (يسار ، يمين)
إرجاع صحيح إذا كانت اللقطات المقدمة متساوية.
إمضاء:
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> | لقطة للمقارنة. |
عائدات:
منطقية
صحيح إذا كانت اللقطات متساوية.
وظيفة (الحد، ...)
الحد (الحد)
يخلق querylimitconstraint الذي يعيد فقط المستندات المطابقة الأولى.
إمضاء:
export declare function limit(limit: number): QueryLimitConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
حد | رقم | الحد الأقصى لعدد العناصر للعودة. |
عائدات:
تم إنشاء QueryLimitConstraint .
ليميتتولاست(الحد)
ينشئ querylimitconstraint الذي يعيد فقط آخر المستندات المطابقة.
يجب عليك تحديد جملة orderBy
واحدة على الأقل لاستعلامات limitToLast
، وإلا سيتم طرح استثناء أثناء التنفيذ.
إمضاء:
export declare function limitToLast(limit: number): QueryLimitConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
حد | رقم | الحد الأقصى لعدد العناصر للعودة. |
عائدات:
تم إنشاء QueryLimitConstraint .
وظيفة (loglevel ، ...)
setLoglevel (loglevel)
يحدد فعل سجلات السحابة Firestore (تصحيح أو خطأ أو صامت).
إمضاء:
export declare function setLogLevel(logLevel: LogLevel): void;
حدود
معامل | يكتب | وصف |
---|---|---|
تسجيل مستوى | تسجيل مستوى | الأناقة التي حددتها للنشاط وتسجيل الخطأ. يمكن أن يكون أي من القيم التالية:
|
عائدات:
فارغ
وظيفة (ن، ...)
الزيادة (ن)
إرجاع قيمة خاصة يمكن استخدامها مع setDoc () أو updatedOC () التي تخبر الخادم بزيادة القيمة الحالية للحقل بالقيمة المحددة.
إذا كان المعامل أو قيمة الحقل الحالية يستخدم دقة النقطة العائمة ، فإن جميع الحساب يتبع IEEE 754 دلالات. إذا كانت كلتا القيمتين أعداد صحيحة ، فإن Number.MAX_SAFE_INTEGER
خارج نطاق الأرقام الآمنة لـ JavaScript ( Number.MIN_SAFE_INTEGER
) تخضع أيضا لخسارة الدقة. علاوة على ذلك ، بمجرد معالجتها بواسطة الواجهة الخلفية Firestore ، يتم توج جميع عمليات عدد صحيح بين -2^63 و 2^63-1.
إذا كانت قيمة الحقل الحالية ليست من number
النوع ، أو إذا لم يكن الحقل موجودًا بعد ، فإن التحول يضع الحقل على القيمة المحددة.
إمضاء:
export declare function increment(n: number): FieldValue;
حدود
معامل | يكتب | وصف |
---|---|---|
ن | رقم | القيمة للزيادة بواسطة. |
عائدات:
حارس FieldValue
للاستخدام في مكالمة إلى setDoc()
أو updateDoc()
وظيفة (استعلام ، ...)
getAggregate(استعلام، تجميعالمواصفات)
يحسب المجموعات المحددة على المستندات في مجموعة النتائج من الاستعلام المحدد دون تنزيل المستندات فعليًا.
يعد استخدام هذه الوظيفة لأداء التجميعات فعالًا لأن قيم التجميع النهائية فقط ، وليس بيانات المستندات "، يتم تنزيلها. يمكن أن تؤدي هذه الوظيفة تجميعات المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة بشكل محظور للتنزيل بالكامل (آلاف المستندات).
إمضاء:
export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;
حدود
معامل | يكتب | وصف |
---|---|---|
استفسار | استفسار <appmodeltype ، dbmodeltype> | الاستعلام الذي تم تجميع مجموعة النتائج. |
الركام | التجميعات CENTERSIPE | كائن AggregateSpec يحدد المجاميع لأداء مجموعة النتائج. يحدد CommgectesPec الأسماء المستعارة لكل إجمالي ، والذي يمكن استخدامه لاسترداد النتيجة الإجمالية. |
عائدات:
وعد < acmgregequerysnapshot <comphectpectype ، 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 (استعلام)
يحسب عدد المستندات في مجموعة النتائج من الاستعلام المحدد دون تنزيل المستندات بالفعل.
يعد استخدام هذه الوظيفة لحساب المستندات فعالًا لأنه يتم تنزيل العدد النهائي فقط ، وليس بيانات المستندات ،. يمكن لهذه الوظيفة حساب المستندات في الحالات التي تكون فيها مجموعة النتائج كبيرة بشكل محظور للتنزيل بالكامل (آلاف المستندات).
إمضاء:
export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
count: AggregateField<number>;
}, AppModelType, DbModelType>>;
حدود
معامل | يكتب | وصف |
---|---|---|
استفسار | استفسار <appmodeltype ، dbmodeltype> | الاستعلام الذي يتم حساب حجم مجموعة النتائج. |
عائدات:
وعد < acmgregequerysnapshot < <number> ؛ } ، appmodeltype ، dbmodeltype >>
وعد سيتم حله مع العد ؛ يمكن استرداد العدد من snapshot.data().count
، حيث تكون snapshot
هي AggregateQuerySnapshot
التي يحلها الوعد الذي تم إرجاعه.
الحصول على المستندات (الاستعلام)
ينفذ الاستعلام ويعيد النتائج باعتباره Querysnapshot .
يتم تنفيذ جميع الاستعلامات مباشرة بواسطة الخادم ، حتى لو تم تنفيذ الاستعلام مسبقًا. تنعكس التعديلات الحديثة فقط في النتائج التي تم استردادها إذا تم تطبيقها بالفعل من قبل الواجهة الخلفية. إذا كان العميل غير متصل ، فإن العملية تفشل. للاطلاع على النتيجة المخزنة مؤقتًا والتعديلات المحلية ، استخدم Firestore SDK الكامل.
إمضاء:
export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;
حدود
معامل | يكتب | وصف |
---|---|---|
استفسار | استفسار <appmodeltype ، dbmodeltype> | Query للتنفيذ. |
عائدات:
وعد < querysnapshot <appmodeltype ، dbmodeltype >>
الوعد الذي سيتم حله مع نتائج الاستعلام.
استعلام (استعلام ، مركب ، queryconstraints)
ينشئ مثيلًا جديدًا للاستعلام يتم تمديده ليشمل أيضًا قيودًا إضافية على الاستعلام.
إمضاء:
export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;
حدود
معامل | يكتب | وصف |
---|---|---|
استفسار | استفسار <appmodeltype ، dbmodeltype> | مثيل الاستعلام لاستخدامه كقاعدة للقيود الجديدة. |
مركب | QueryCompositeFilterConstraint | QueryCompositeFilterConstraint للتقدم. إنشاء QueryCompositeFilterConstraint باستخدام () أو أو () . |
QueryConstraints | QuerynonfilterConstraint [] | QueryNonfilterConstraint S لتطبيق (على سبيل المثال Orderby () ، حد() ). |
عائدات:
استفسار <appmodeltype ، dbmodeltype>
الاستثناءات
إذا كان لا يمكن دمج أي من قيود الاستعلام المقدمة مع القيود الحالية أو الجديدة.
استعلام (استعلام ، QueryConstraints)
ينشئ مثيلًا جديدًا للاستعلام يتم تمديده ليشمل أيضًا قيودًا إضافية على الاستعلام.
إمضاء:
export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;
حدود
معامل | يكتب | وصف |
---|---|---|
استفسار | استفسار <appmodeltype ، dbmodeltype> | مثيل الاستعلام لاستخدامه كقاعدة للقيود الجديدة. |
QueryConstraints | QueryConstraint [] | قائمة QueryConstraint ق للتقديم. |
عائدات:
استفسار <appmodeltype ، dbmodeltype>
الاستثناءات
إذا كان لا يمكن دمج أي من قيود الاستعلام المقدمة مع القيود الحالية أو الجديدة.
وظيفة (QueryConstraints ، ...)
و (QueryConstraints)
ينشئ QueryCompositeFilterConstraint QueryCompositeFilterConstraint وهو عبارة عن ارتباط لقيود المرشح المحددة. يتضمن مرشح التزامن مستندًا إذا كان يرضي جميع المرشحات المحددة.
إمضاء:
export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
QueryConstraints | QueryFilterConstraint [] | خياري. قائمة QueryFilterConstraint S لأداء التزامن ل. يجب إنشاء هذه مع مكالمات إلى أين () ، أو() ، او و() . |
عائدات:
QueryCompositeFilterConstraint
The QueryCompositeFilterConstraint تم إنشاؤه حديثًا .
أو (QueryConstraints)
ينشئ QueryCompositeFilterConstraint QueryCompositeFilterConstraint وهو انفصال عن قيود المرشح المعطى. يتضمن مرشح الانفصال مستندًا إذا كان يفي بأي من المرشحات المحددة.
إمضاء:
export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
QueryConstraints | QueryFilterConstraint [] | خياري. قائمة QueryFilterConstraint S لأداء الانفصال عن. يجب إنشاء هذه مع مكالمات إلى أين () ، أو() ، او و() . |
عائدات:
QueryCompositeFilterConstraint
The QueryCompositeFilterConstraint تم إنشاؤه حديثًا .
وظيفة (مرجع ، ...)
adddoc (مرجع ، بيانات)
أضف مستندًا جديدًا إلى CollectionReference
محددة مع البيانات المحددة ، وقم بتعيين معرف مستند تلقائيًا.
لن تنعكس نتيجة هذه الكتابة إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل ، فإن الكتابة تفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | جمع <appmodeltype ، dbmodeltype> | إشارة إلى المجموعة لإضافة هذا المستند إلى. |
بيانات | WithfieldValue <AppModelType> | كائن يحتوي على بيانات المستند الجديد. |
عائدات:
وعد < documentReference <appmodeltype ، dbmodeltype >>
تم حل Promise
مع وجود DocumentReference
يشير إلى المستند الذي تم إنشاؤه حديثًا بعد كتابته إلى الواجهة الخلفية.
الاستثناءات
خطأ - إذا لم يكن الإدخال المقدم وثيقة Firestore صالحة.
المجموعة (المرجع، المسار، شرائح المسار)
يحصل على مثيل CollectionReference
يشير إلى تحصيل فرعي reference
في المسار النسبي المحدد.
إمضاء:
export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | جمع <appmodeltype ، dbmodeltype> | إشارة إلى مجموعة. |
طريق | خيط | مسار مفصل مائل إلى مجموعة. |
المسارات | خيط[] | شرائح مسار إضافية لتطبيقها بالنسبة للحجة الأولى. |
عائدات:
جمع < documentData ، documentData >
مثيل CollectionReference
.
الاستثناءات
إذا كان المسار النهائي لديه عدد زوجي من الأجزاء ولم يشير إلى مجموعة.
المجموعة (المرجع، المسار، شرائح المسار)
يحصل على مثيل CollectionReference
يشير إلى تحصيل فرعي reference
في المسار النسبي المحدد.
إمضاء:
export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى وثيقة Firestore. |
طريق | خيط | مسار مفصل مائل إلى مجموعة. |
المسارات | خيط[] | شرائح المسار الإضافية التي سيتم تطبيقها بالنسبة للحجة الأولى. |
عائدات:
جمع < documentData ، documentData >
مثيل CollectionReference
.
الاستثناءات
إذا كان المسار النهائي لديه عدد زوجي من الأجزاء ولم يشير إلى مجموعة.
Deletedoc (مرجع)
يحذف المستند المشار إليه من خلال DocumentReference
المحددة .
سوف ينعكس الحذف فقط في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل ، فإن الحذف يفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى المستند إلى حذف. |
عائدات:
وعد<باطل>
تم حل Promise
بمجرد حذف المستند بنجاح من الواجهة الخلفية.
DOC (المرجع ، المسار ، المسار)
يحصل على مثيل DocumentReference
يشير إلى مستند ضمن reference
في المسار النسبي المحدد. إذا لم يتم تحديد أي مسار ، فسيتم استخدام معرف فريد تلقائيًا DocumentReference
التي تم إرجاعها .
إمضاء:
export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | جمع <appmodeltype ، dbmodeltype> | إشارة إلى مجموعة. |
طريق | خيط | مسار مفصل للخلع إلى وثيقة. يجب حذفها لاستخدام معرفات الجيل. |
المسارات | خيط[] | شرائح المسار الإضافية التي سيتم تطبيقها بالنسبة للحجة الأولى. |
عائدات:
وثيقة مرجعية <appmodeltype ، dbmodeltype>
مثيل DocumentReference
.
الاستثناءات
إذا كان المسار النهائي يحتوي على عدد فردي من الأجزاء ولم يشير إلى وثيقة.
DOC (المرجع ، المسار ، المسار)
يحصل على مثيل DocumentReference
يشير إلى مستند ضمن reference
في المسار النسبي المحدد.
إمضاء:
export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى وثيقة Firestore. |
طريق | خيط | مسار مفصل للخلع إلى وثيقة. |
المسارات | خيط[] | شرائح المسار الإضافية التي سيتم تطبيقها بالنسبة للحجة الأولى. |
عائدات:
وثيقة مرجعية < documentData ، documentData >
مثيل DocumentReference
.
الاستثناءات
إذا كان المسار النهائي يحتوي على عدد فردي من الأجزاء ولم يشير إلى وثيقة.
getDoc (مرجع)
يقرأ المستند المشار إليه بواسطة مرجع المستند المحدد.
يتم جلب جميع المستندات مباشرة من الخادم ، حتى لو تم قراءة أو تعديل المستند مسبقًا. تنعكس التعديلات الحديثة فقط في DocumentSnapshot
المسترجعة إذا تم تطبيقها بالفعل من قبل الواجهة الخلفية. إذا كان العميل غير متصل ، فإن القراءة تفشل. إذا كنت ترغب في استخدام التخزين المؤقت أو رؤية التعديلات المحلية ، فيرجى استخدام Firestore SDK الكامل.
إمضاء:
export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | مرجع المستند إلى جلبه. |
عائدات:
وعد < documentsnapshot <appmodeltype ، dbmodeltype >>
وعد تم حله باستخدام DocumentSnapshot
التي تحتوي على محتويات المستند الحالية.
setDOC (مرجع ، بيانات)
يكتب إلى المستند المشار إليه من خلال DocumentReference
المحددة . إذا لم يكن المستند موجودًا بعد ، فسيتم إنشاؤه.
لن تنعكس نتيجة هذه الكتابة إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل ، فإن الكتابة تفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى المستند للكتابة. |
بيانات | WithfieldValue <AppModelType> | خريطة للحقول وقيم المستند. |
عائدات:
وعد<باطل>
تم حل Promise
بمجرد كتابة البيانات بنجاح إلى الواجهة الخلفية.
الاستثناءات
خطأ - إذا لم يكن الإدخال المقدم وثيقة Firestore صالحة.
setDOC (المرجع ، البيانات ، الخيارات)
يكتب إلى المستند المشار إليه من خلال DocumentReference
المحددة . إذا لم يكن المستند موجودًا بعد ، فسيتم إنشاؤه. إذا قدمت merge
أو mergeFields
، يمكن دمج البيانات المقدمة في وثيقة موجودة.
لن تنعكس نتيجة هذه الكتابة إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل ، فإن الكتابة تفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى المستند للكتابة. |
بيانات | partialwithfieldvalue <AppModelType> | خريطة للحقول وقيم المستند. |
خيارات | setOptions | كائن لتكوين السلوك المحدد. |
عائدات:
وعد<باطل>
تم حل Promise
بمجرد كتابة البيانات بنجاح إلى الواجهة الخلفية.
الاستثناءات
خطأ - إذا لم يكن الإدخال المقدم وثيقة Firestore صالحة.
updatedoc (المرجع ، البيانات)
تحديثات الحقول في المستند المشار إليها من قبل DocumentReference
المحددة . سيفشل التحديث إذا تم تطبيقه على مستند غير موجود.
لن تنعكس نتيجة هذا التحديث إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت ، فإن التحديث يفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى المستند إلى التحديث. |
بيانات | تحديث البيانات <dbmodeltype> | كائن يحتوي على الحقول والقيم التي لتحديث المستند. يمكن أن تحتوي الحقول على نقاط للإشارة إلى الحقول المتداخلة داخل المستند. |
عائدات:
وعد<باطل>
تم حل Promise
بمجرد كتابة البيانات بنجاح إلى الواجهة الخلفية.
الاستثناءات
خطأ - إذا كان الإدخال غير المقدم غير صالح لبيانات Firestore.
UpdateDoc(مرجع، حقل، قيمة، moreFieldsAndValues)
تحديثات الحقول الواردة في المستند المشار إليها من قبل DocumentReference
المحددة سيفشل التحديث إذا تم تطبيقه على مستند غير موجود.
يمكن تحديث الحقول المتداخلة من خلال توفير سلاسل مسار الميدان المفصولة DOT أو عن طريق توفير كائنات FieldPath
.
لن تنعكس نتيجة هذا التحديث إلا في قراءات المستند التي تحدث بعد حل الوعد الذي تم إرجاعه. إذا كان العميل غير متصل بالإنترنت ، فإن التحديث يفشل. إذا كنت ترغب في رؤية التعديلات المحلية أو تكتب المخزن المؤقت حتى يكون العميل متصلاً بالإنترنت ، فاستخدم Firestore SDK الكامل.
إمضاء:
export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;
حدود
معامل | يكتب | وصف |
---|---|---|
مرجع | وثيقة مرجعية <appmodeltype ، dbmodeltype> | إشارة إلى المستند إلى التحديث. |
مجال | سلسلة | ميدان | الحقل الأول للتحديث. |
قيمة | مجهول | القيمة الأولى. |
MorefieldsAndvalues | مجهول[] | أزواج القيمة الرئيسية الإضافية. |
عائدات:
وعد<باطل>
تم حل Promise
بمجرد كتابة البيانات بنجاح إلى الواجهة الخلفية.
الاستثناءات
خطأ - إذا كان الإدخال غير المقدم غير صالح لبيانات Firestore.
وظيفة (لقطة ، ...)
endat (لقطة)
ينشئ queryendatconstraint الذي يعدل النتيجة التي تم تعيينها في المستند المقدم (شامل). الموقف النهائي يتعلق بترتيب الاستعلام. يجب أن تحتوي المستند على جميع الحقول المقدمة بترتيب الاستعلام.
إمضاء:
export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
لمحة | DocumentSnapshot <appmodeltype ، dbmodeltype> | لقطة الوثيقة لتنتهي في. |
عائدات:
queryendatconstraint لتمرير query()
endbefore (لقطة)
ينشئ queryendatconstraint الذي يعدل النتيجة التي تم تعيينها قبل الانتهاء قبل المستند المقدم (الحصري). الموقف النهائي يتعلق بترتيب الاستعلام. يجب أن تحتوي المستند على جميع الحقول المقدمة بترتيب الاستعلام.
إمضاء:
export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
لمحة | DocumentSnapshot <appmodeltype ، dbmodeltype> | لقطة الوثيقة لتنتهي من قبل. |
عائدات:
queryendatconstraint لتمرير query()
startafter (لقطة)
ينشئ QueryStartAtconstraint يعدل النتيجة التي تم تعيينها للبدء بعد المستند المقدم (حصريًا). موقف البداية بالنسبة إلى ترتيب الاستعلام. يجب أن تحتوي المستند على جميع الحقول المقدمة بترتيب الاستعلام.
إمضاء:
export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
لمحة | DocumentSnapshot <appmodeltype ، dbmodeltype> | لقطة الوثيقة للبدء بعد. |
عائدات:
querystartatconstraint لتمرير query()
Startat (لقطة)
ينشئ QueryStartAtconstraint يعدل النتيجة التي تم تعيينها للبدء في المستند المقدم (شامل). موقف البداية بالنسبة إلى ترتيب الاستعلام. يجب أن تحتوي المستند على جميع الحقول المقدمة في orderBy
هذا الاستعلام.
إمضاء:
export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;
حدود
معامل | يكتب | وصف |
---|---|---|
لمحة | DocumentSnapshot <appmodeltype ، dbmodeltype> | لقطة المستند للبدء في. |
عائدات:
querystartatconstraint لتمرير query()
.
addprefixtokeys
إرجاع خريطة جديدة حيث يتم توجيه كل مفتاح مع المفتاح الخارجي الملحق بنقطة.
إمضاء:
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];
};
ascregatefieldtype
اتحاد جميع أنواع AggregateField
التي تدعمها Firestore.
إمضاء:
export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;
الركام
نوع مأخوذ مفاتيحه من AggregateSpec
والتي هي قيمها هي نتيجة التجميع التي يؤديها AggregateField
المقابل من إدخال AggregateSpec
.
إمضاء:
export declare type AggregateSpecData<T extends AggregateSpec> = {
[P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};
aggregateType
نوع الاتحاد الذي يمثل النوع الكلي المراد تنفيذه.
إمضاء:
export declare type AggregateType = 'count' | 'avg' | 'sum';
childupdatefields
مساعد لحساب الحقول المتداخلة لنوع معين T1. هذا مطلوب لتوزيع أنواع النقابات مثل undefined | {...}
(يحدث للدعائم الاختيارية) أو {a: A} | {b: B}
.
في حالة الاستخدام هذه ، يتم استخدام V
لتوزيع أنواع الاتحاد من T [ Record
T[K]
، منذ أن يتم تقييم T[K]
كتعبير وليس موزعة.
انظر https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
إمضاء:
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
القيم المحتملة: - "إلغاء": تم إلغاء العملية (عادةً بواسطة المتصل). - "غير معروف": خطأ غير معروف أو خطأ من مجال خطأ مختلف. - 'argument invalid': حدد العميل وسيطة غير صالحة. لاحظ أن هذا يختلف عن "الشرط الفاشل". يشير "argument غير صالح" إلى الحجج التي تكون مشكلة بغض النظر عن حالة النظام (على سبيل المثال اسم حقل غير صالح). - "الموعد النهائي الموعد النهائي": انتهت الموعد النهائي قبل انتهاء العملية. بالنسبة للعمليات التي تغير حالة النظام ، قد يتم إرجاع هذا الخطأ حتى إذا كانت العملية قد اكتملت بنجاح. على سبيل المثال ، كان من الممكن تأخير استجابة ناجحة من الخادم لفترة طويلة بما يكفي لإنهاء الموعد النهائي. - "غير مؤسس": لم يتم العثور على بعض المستند المطلوب. - "موجود بالفعل": بعض المستندات التي حاولنا إنشاءها موجودة بالفعل. - "الإذن المنقولة": لا يحتوي المتصل على إذن لتنفيذ العملية المحددة. -"الموارد التي يتم تنقيتها": تم استنفاد بعض الموارد ، وربما حصة لكل مستخدم ، أو ربما نظام الملفات بأكمله خارج الفضاء. - "الإثارة الفاشلة": تم رفض العملية لأن النظام ليس في حالة مطلوبة لتنفيذ العملية. - "تم إحباط": تم إحباط العملية ، وعادةً ما تكون بسبب مسألة التزامن مثل إحباط المعاملات ، وما إلى ذلك- "خارج المدى": تمت محاولة العملية تجاوز النطاق الصحيح. - 'Unecteded': لم يتم تنفيذ العملية أو عدم دعمها/تمكينها. - "داخلي": الأخطاء الداخلية. تعني أن بعض الثوابات المتوقعة من قبل النظام الأساسي قد تم كسرها. إذا رأيت أحد هذه الأخطاء ، فسيكون هناك شيء مكسور للغاية. - "غير متوفر": الخدمة غير متوفرة حاليًا. هذا على الأرجح حالة عابرة ويمكن تصحيحها من خلال إعادة المحاولة باستخدام التراجع. - "فقدان البيانات": فقدان البيانات أو الفساد غير قابل للاسترداد. - "غير مصادقة": لا يحتوي الطلب على بيانات اعتماد مصادقة صالحة للعملية.
إمضاء:
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';
NETTERUPDATEFIELDS
لكل حقل (على سبيل المثال "شريط") ، ابحث عن جميع المفاتيح المتداخلة (على سبيل المثال { 'bar.baz': t1 ، 'bar.qux': t2 } ). تقاطعهم معًا لإنشاء خريطة واحدة تحتوي على جميع المفاتيح الممكنة التي يتم تمييزها جميعًا على أنها اختيارية
إمضاء:
export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
[K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;
Orderbydirection
يتم تحديد اتجاه شرط orderby () على أنه "desc" أو "ASC" (تنازلي أو تصاعدي).
إمضاء:
export declare type OrderByDirection = 'desc' | 'asc';
partialwithfieldvalue
على غرار Partial<T>
لـ TypeScript ، ولكن يسمح بحذف الحقول المتداخلة وتجول القيم الحقل في قيم الممتلكات.
إمضاء:
export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
[K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);
بدائية
الأنواع البدائية.
إمضاء:
export declare type Primitive = string | number | boolean | undefined | null;
QueryConstrainttype
يصف قيود الاستعلام المختلفة المتاحة في هذا SDK.
إمضاء:
export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';
QueryFilterConstraint
QueryFilterConstraint
هو نوع الاتحاد المساعد الذي يمثل QueryfieldFilterConstraint و QueryCompositeFilterConstraint .
إمضاء:
export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;
QuerynonfilterConstraint
QueryNonFilterConstraint
هو نوع من الاتحاد المساعد الذي يمثل QueryConstraints المستخدمة لتضييق أو طلب مجموعة المستندات ، ولكن لا يتم تصفية بشكل صريح على حقل المستند. QueryNonFilterConstraint
يتم إنشاء S عن طريق استدعاء Orderby () ، تبدأ في() ، startafter () ، endbefore () ، يغلق عند مستوى() ، limit () أو limittolast () ويمكن بعد ذلك تمريرها إلى الاستعلام () لإنشاء مثيل استعلام جديد يحتوي أيضًا على QueryConstraint
.
إمضاء:
export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;
setOptions
كائن خيارات يقوم بتكوين سلوك setDoc () ومكالمات. يمكن تكوين هذه المكالمات لأداء دمج حبيبية بدلاً من الكتابة فوق المستندات المستهدفة بالكامل من خلال توفير SetOptions
من merge: true
.
إمضاء:
export declare type SetOptions = {
readonly merge?: boolean;
} | {
readonly mergeFields?: Array<string | FieldPath>;
};
UnionToEntersection
إعطاء نوع الاتحاد 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-inters -يكتب
إمضاء:
export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
تحديث البيانات
تحديث البيانات (للاستخدام مع updatedoc () ) تتكون من مسارات الحقل (على سبيل المثال "foo" أو "foo.baz") تم تعيينها للقيم. الحقول التي تحتوي على نقاط مرجعية الحقول المتداخلة داخل المستند. يمكن تمرير القيم الميدانية في قيم الممتلكات.
إمضاء:
export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
[K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;
WhateFilterop
شروط التصفية في A Where () يتم تحديد جملة باستخدام الأوتار '& lt ؛' ، '& lt ؛ =' ، '==' ، '! =' ، '& gt ؛ =' ، '& gt ؛' ، 'array-contains' ، "في" ، "صفيفات الصفيف-أي" ، و "غير في".
إمضاء:
export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
WithfieldValue
يتيح أن يتم تمرير القيم الحقل كقيمة خاصية مع الحفاظ على سلامة النوع.
إمضاء:
export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
[K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);