توضّح هذه الصفحة أنواع البيانات التي يتيحها Cloud Firestore.
أنواع البيانات
يسرد الجدول التالي أنواع البيانات المتوافقة مع Cloud Firestore. ويصف أيضًا نظام الترتيب المستخدَم عند مقارنة قيم من النوع نفسه:
| نوع البيانات | نظام الترتيب | ملاحظات |
|---|---|---|
| عدد صحيح من 32 بت | رقمي |
32 بت، موقَّع ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| عدد صحيح 64 بت | رقمي | 64 بت، موقَّع |
| مصفوفة | حسب قيم العناصر |
في قواعد بيانات الإصدار العادي، لا يمكن أن تحتوي المصفوفة على قيمة مصفوفة أخرى كأحد عناصرها. في قواعد بيانات إصدار Enterprise، يمكن أن تحتوي المصفوفة على قيمة مصفوفة كأحد عناصرها. ضمن الصفيفة، تحتفظ العناصر بالموضع المخصّص لها. عند ترتيب صفيفتَين أو أكثر، يتم ترتيب الصفائف استنادًا إلى قيم عناصرها. عند مقارنة مصفوفتَين، تتم مقارنة العناصر الأولى لكل مصفوفة. إذا كانت العناصر الأولى متساوية، تتم مقارنة العناصر الثانية، ويستمر ذلك حتى يتم العثور على اختلاف. إذا نفدت عناصر مصفوفة للمقارنة ولكنّها متساوية حتى تلك النقطة، يتم ترتيب المصفوفة الأقصر قبل المصفوفة الأطول. على سبيل المثال، |
| قيمة منطقية | false < true |
— |
| الطابع الزمني لـ BSON | الترتيب الزمني |
قيمة طابع زمني من 64 بت تتألف من ثوانٍ بتنسيق Unix وعداد تزايدي ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| وحدات البايت | ترتيب البايت | في قواعد بيانات الإصدار العادي، يجب ألا تتجاوز القيمة 1,048,487 بايت (1 ميغابايت - 89 بايت)، وتأخذ طلبات البحث في الاعتبار أول 1,500 بايت فقط. في قواعد بيانات إصدار Enterprise، لا يوجد حدّ أقصى لحجم القيمة (بخلاف حدود حجم المستند وإدخال الفهرس)، وتأخذ طلبات البحث القيمة الكاملة في الاعتبار. |
| بايت مع نوع فرعي | ترتيب البايت (النوع الفرعي، ثم القيمة) |
تسلسل بايت ثنائي مع مؤشر نوع فرعي من BSON ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| التاريخ والوقت | الترتيب الزمني | عند تخزينها في Cloud Firestore، تكون دقيقة فقط حتى الميكروثانية، ويتم تقريب أي دقة إضافية إلى الأدنى. |
| Decimal128 | رقمي |
رقم عشري ذو فاصلة عائمة بحجم 128 بت للعمليات الحسابية العالية الدقة ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| رقم النقطة العائمة | رقمي | قيمة مزدوجة الدقة من 64 بت وفقًا لمعيار IEEE 754، بما في ذلك (المُعدَّلة) NaN و+/-Infinity. |
| نقطة جغرافية | حسب خط العرض، ثم خط الطول | للبحث استنادًا إلى المسافة، يُرجى الاطّلاع على البحث الجغرافي المكاني. |
| خريطة | حسب المفاتيح، ثم حسب القيمة | يمثّل عنصرًا مضمّنًا في مستند. عند الفهرسة، يمكنك الاستعلام عن الحقول الفرعية. في حال استبعاد هذه القيمة من الفهرسة، يتم أيضًا استبعاد جميع الحقول الفرعية من الفهرسة.
يتم دائمًا ترتيب المفاتيح. على سبيل المثال، إذا كتبت
يتم ترتيب حقول الخريطة حسب المفتاح ومقارنتها حسب أزواج المفتاح/القيمة، حيث تتم مقارنة المفاتيح أولاً ثم القيم. إذا كانت أزواج المفاتيح والقيم الأولى متساوية، تتم مقارنة أزواج المفاتيح والقيم التالية، ويستمر ذلك حتى يتم العثور على اختلاف. إذا كانت هناك خريطتان تحتويان على جميع أزواج المفتاح والقيمة نفسها، يتم أخذ طول الخريطة في الاعتبار. على سبيل المثال، الخرائط التالية مرتبة تصاعديًا:
|
| مفتاح الحد الأقصى | بدون |
قيمة خاصة تكون أعلى من جميع القيم الأخرى. ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| الحدّ الأدنى للمفتاح | بدون |
قيمة خاصة تكون أقل من جميع القيم الأخرى (باستثناء القيمة الفارغة). ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| خالية | بدون | — |
| ObjectId | ترتيب البايت |
معرّف عنصر مكوّن من 12 بايت ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| مراجع | حسب عناصر المسار (المجموعة، رقم تعريف المستند، المجموعة، رقم تعريف المستند...) | على سبيل المثال:
projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]. |
| تعبير عادي | حسب النمط، ثم حسب الخيارات |
نمط تعبير عادي وخياراته ملاحظة: تتوفّر هذه الميزة في إصدار Enterprise فقط. |
| سلسلة نصية | ترتيب البايت بترميز UTF-8 | في قواعد بيانات الإصدار العادي، يجب ألا تتجاوز القيمة 1,048,487 بايت (1 ميغابايت - 89 بايت)، وتأخذ طلبات البحث في الاعتبار أول 1,500 بايت فقط. في قواعد بيانات إصدار Enterprise، لا يوجد حدّ أقصى لحجم القيمة (بخلاف حدود حجم المستند وإدخال الفهرس)، وتأخذ طلبات البحث القيمة الكاملة في الاعتبار. |
| المتّجه | حسب السمة ثم حسب قيم العناصر الفردية | الحد الأقصى لبُعد التضمين المسموح به هو 2048. لتخزين المتّجهات ذات الأبعاد الأكبر، استخدِم تقنية خفض الأبعاد. |
ترتيب نوع القيمة
عندما يتضمّن طلب البحث حقلاً يحتوي على قيم من أنواع مختلطة، يستخدم Cloud Firestore ترتيبًا حتميًا استنادًا إلى التمثيلات الداخلية. تعرض القائمة التالية الترتيب:
- القيم الفارغة
- الحد الأدنى لقيم المفاتيح (إصدار Enterprise فقط)
- القيم المنطقية
- قيم الأعداد الصحيحة والفاصلة العائمة ذات 64 بت، مرتّبة ترتيبًا رقميًا في قواعد بيانات إصدار Enterprise، يتم أيضًا تضمين قيم الأعداد الصحيحة ذات 32 بت وDecimal128.
- قيم التاريخ
- قيم السلاسل النصية
- قيم البايت في إصدار Enterprise، يتم أيضًا تضمين وحدات البايت التي تحتوي على قيم أنواع فرعية.
- Cloud Firestore مرجع
- قيم ObjectId (إصدار Enterprise فقط)
- قيم النقاط الجغرافية
- التعبير العادي (إصدار Enterprise فقط)
- قيم المصفوفة
- تضمينات المتّجهات
- قيم الخريطة
- الحد الأقصى لقيم المفاتيح (إصدار Enterprise فقط)
الترتيب الرقمي
يرتّب Cloud Firestore جميع القيم الرقمية (Integer وFloating point)
متداخلة مع بعضها البعض. تتبع مقارنة النقطة العائمة الترتيب الإجمالي لمعيار IEEE 754 مع الاستثناء الملحوظ المتمثل في أن Cloud Firestore يعمل على تسوية جميع قيم NaN، ويعتبرها أقل من -Infinity.