| ينطبق ذلك على إصدار Cloud Firestore Enterprise فقط. |
توضّح هذه الصفحة الاختلافات السلوكية بين Cloud Firestore المتوافق مع MongoDB وMongoDB.
للاطّلاع على تفاصيل الميزات المتوافقة حسب إصدار MongoDB، يُرجى الرجوع إلى:
- الميزات المتوافقة: الإصدار 8.0
- الميزات المتوافقة: الإصدار 7.0
- الميزات المتوافقة: الإصدار 6.0
- الميزات المتوافقة: الإصدار 5.0
عمليات الربط وقواعد البيانات
- يقتصر كل اتصال على قاعدة بيانات واحدة متوافقة مع MongoDB في Cloud Firestore.
- يجب إنشاء قاعدة بيانات قبل الاتصال بها.
التسمية
تنطبق الاختلافات التالية على تسمية أجزاء من نموذج البيانات.
المجموعات
- لا تتوفّر أسماء المجموعات التي تتطابق مع
__.*__.
الحقول
- لا يمكن استخدام أسماء الحقول التي تتطابق مع
__.*__. - لا يمكن ترك أسماء الحقول فارغة.
المستندات
- الحد الأقصى لحجم المستند هو 4 ميغابايت.
- يبلغ الحد الأقصى لمستوى الدمج للحقول 20. يضيف كل حقل من النوع Array وObject مستوى واحدًا إلى العمق الإجمالي.
_id
- يجب أن يكون المستند
_id(الحقل الأعلى مستوى) ObjectId أو String أو عددًا صحيحًا 64 بت. لا تتوافق مع أنواع BSON الأخرى. - لا يمكن استخدام السلسلة الفارغة ("") والقيمة 0 بتنسيق 64 بت (0L).
القيم
- لا تتوافق أنواع BSON التالية: JavaScript وSymbol وDBPointer وUndefined.
تاريخ
- يجب أن تندرج قيم التاريخ ضمن
[0001-01-01T00:00:00Z, 9999-12-31T23:59:59Z].
Decimal128
- يتم تحويل القيم
NaNواللانهاية الموجبة واللانهاية السالبة إلى شكل أساسي عند الكتابة. - لا تتوفّر العمليات الحسابية على Decimal128.
مزدوج
- يتم تحويل قيم
NaNإلى شكلها الأساسي عند الكتابة.
تعبير عادي
- يجب أن تكون خيارات التعبير العادي صالحة ("i" أو "m" أو "s" أو "u" أو "x") ويجب تقديمها بترتيب أبجدي بدون تكرار.
طلبات البحث
- لا يتطابق ترتيب الفرز الطبيعي (طلبات البحث بدون فرز صريح) مع ترتيب الإدراج أو الترتيب حسب
_idتصاعديًا.
التجميعات
- تقتصر عمليات التجميع على 250 مرحلة.
- لا تتوافق هذه الميزة مع مرحلتَي
$mergeو$out. راجِع قسم الأوامر للحصول على قائمة كاملة بالمراحل والعوامل المتوافقة. - لا تتوافق المرحلة
$lookupمع الحقلَينletوpipeline.
يكتب
- لا يمكن إنشاء مستندات تبدأ أسماؤها بعلامة الدولار ($) باستخدام ميزة الإدراج/التعديل في
updateأوfindAndModify. - تأكَّد من أنّ سلسلة الاتصال تتضمّن
retryWrites=false(أو استخدِم الطريقة المناسبة لبرنامج التشغيل) للتأكّد من أنّ برنامج التشغيل لا يحاول استخدام هذه الميزة. لا تتوفّر عمليات الكتابة القابلة لإعادة المحاولة.
المعاملات
يتيح هذا الوضع الفصل بين اللقطات والمعاملات القابلة للتسلسل.
تستخدم المعاملات تلقائيًا عناصر التحكّم المتزامنة المتفائلة مع عزل اللقطات.
قراءة بيانات القلق
يتوافق Cloud Firestore مع MongoDB مع مستويات
snapshotوmajorityوlinearizableمن مستويات القراءة. القيمة التلقائية هيsnapshotالتي تشير إلى عزل اللقطات.استخدِم
linearizableعندما يتطلّب التطبيق اتساقًا صارمًا ويجب أن يمنع حدوث أي أخطاء في الكتابة. بالنسبة إلى أحمال العمل الأخرى، يمكن أن يؤدي استخدامsnapshotإلى تحسين الأداء والحدّ من تعارض المعاملات.
كتابة بيانات القلق
- يُسمح فقط باستخدام خيارَي
w: 'majority'وw: 1.
إعدادات القراءة المفضّلة
- يتم توفير خيارات القراءة
primaryوprimaryPreferredوprimary_preferredوsecondary_preferredوnearestفقط.
الفهارس
- لا يمكن استخدام فهارس أحرف البدل.
- لا تنشئ خدمة Cloud Firestore المتوافقة مع MongoDB تلقائيًا فهرسًا في
_id، ولكنها تضمن أن تكون قيم_idفريدة ضمن مجموعة. - لا يتم تلقائيًا تغيير الفهارس التي لم يتم تفعيل المفاتيح المتعددة فيها إلى فهارس مفاتيح متعددة استنادًا إلى عمليات الكتابة. يجب تفعيل المفتاح المتعدد عند إنشاء الفهرس، ولا يمكن تغيير هذا الخيار.
الأخطاء
- قد تختلف رموز الخطأ ورسائله بين Cloud Firestore المتوافق مع MongoDB وMongoDB.
الأوامر
تنطبق الاختلافات التالية في السلوك على أوامر معيّنة.
- إنّ الأوامر غير المُدرَجة في الجداول التالية غير متوافقة.
- تقبل معظم الأوامر القيمة
maxTimeMSولكن قد يتم تجاهلها.
الاستعلامات وعمليات الكتابة
| Command | الحقول غير المتوافقة |
|---|---|
|
|
|
|
|
|
|
|
|
ضمن عبارة حذف:
|
|
|
|
|
|
|
|
|
|
(القائمة فارغة) |
المعاملات والجلسات
| Command | الحقول غير المتوافقة |
|---|---|
|
|
|
|
|
(القائمة فارغة) |
الإدارة
| Command | الحقول غير المتوافقة | Notes |
|---|---|---|
|
|
يجب أن يكون الحقل filter فارغًا إذا تم توفيره. |
|
|
يجب أن تكون قيمة authorizedCollections هي false إذا تم توفيرها. |
|
|
|
|
|
هذا الأمر لا يؤدي إلى أي عملية. يجب أن تكون قيمة capped خطأ إذا تم توفيرها. |
الخطوات التالية
- نفِّذ البدء السريع: إنشاء قاعدة بيانات والاتصال بها.
- للحصول على قائمة كاملة بالميزات المتوافقة، يُرجى الاطّلاع على أنواع البيانات وبرامج التشغيل والميزات المتوافقة مع MongoDB.