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