أنواع البيانات المتوافقة

توضّح هذه الصفحة أنواع البيانات التي يتيحها Cloud Firestore.

أنواع البيانات

يسرد الجدول التالي أنواع البيانات المتوافقة مع Cloud Firestore. ويصف أيضًا نظام الترتيب المستخدَم عند مقارنة قيم من النوع نفسه:

نوع البيانات نظام الترتيب ملاحظات
مصفوفة حسب قيم العناصر

في قواعد بيانات الإصدار العادي، لا يمكن أن تحتوي مصفوفة على قيمة مصفوفة أخرى كأحد عناصرها. في قواعد بيانات إصدار Enterprise، يمكن أن تحتوي المصفوفة على قيمة مصفوفة كأحد عناصرها.

ضمن الصفيفة، تحتفظ العناصر بالموضع المخصّص لها. عند ترتيب مصفوفتَين أو أكثر، يتم ترتيب المصفوفات استنادًا إلى قيم عناصرها.

عند مقارنة مصفوفتَين، تتم مقارنة العناصر الأولى لكل مصفوفة. إذا كانت العناصر الأولى متساوية، تتم مقارنة العناصر الثانية وهكذا إلى أن يتم العثور على اختلاف. إذا نفدت عناصر مصفوفة ما للمقارنة ولكنّها متساوية حتى تلك النقطة، يتم ترتيب المصفوفة الأقصر قبل المصفوفة الأطول.

على سبيل المثال، [1, 2, 3] < [1, 2, 3, 1] < [2]. تحتوي الصفيفة [2] على أكبر قيمة للعنصر الأول. تحتوي الصفيفة [1, 2, 3] على عناصر مساوية لأول ثلاثة عناصر في [1, 2, 3, 1] ولكنها أقصر في الطول.

قيمة منطقية false < true —
وحدات البايت ترتيب البايت في قواعد بيانات الإصدار العادي، يجب ألا تتجاوز القيمة 1,048,487 بايت (1 ميبيبايت - 89 بايت) ويتم أخذ أول 1,500 بايت فقط في الاعتبار في طلبات البحث. في قواعد بيانات إصدار Enterprise، لا يوجد حد أقصى لحجم القيمة (بخلاف حدود حجم المستند وإدخال الفهرس) ويتم أخذ القيمة الكاملة في الاعتبار من خلال طلبات البحث.
التاريخ والوقت الترتيب الزمني عند تخزينها في Cloud Firestore، تكون دقيقة فقط حتى الميكروثانية، ويتم تقريب أي دقة إضافية إلى الأدنى.
رقم النقطة العائمة رقمي قيمة مزدوجة الدقة من 64 بت وفقًا لمعيار IEEE 754، بما في ذلك (المُعدَّلة) NaN و+/-Infinity.
نقطة جغرافية حسب خط العرض، ثم خط الطول للبحث استنادًا إلى المسافة، يُرجى الاطّلاع على البحث الجغرافي المكاني.
عدد صحيح رقمي ‫64 بت، موقَّع
خريطة حسب المفاتيح، ثم حسب القيمة

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

يتم دائمًا ترتيب المفاتيح. على سبيل المثال، إذا كتبت {c: "foo", a: "bar", b: "qux"}، يتم ترتيب الخريطة حسب المفتاح وحفظها باسم {a: "bar", b: "qux", c: "foo"}.

يتم ترتيب حقول الخريطة حسب المفتاح ومقارنتها حسب أزواج المفتاح/القيمة، حيث تتم مقارنة المفاتيح أولاً ثم القيم. إذا كانت أزواج المفتاح/القيمة الأولى متساوية، تتم مقارنة أزواج المفتاح/القيمة التالية، وهكذا. إذا كانت هناك خريطتان تحتويان على جميع أزواج المفتاح/القيمة نفسها، يتم أخذ طول الخريطة في الاعتبار. على سبيل المثال، الخرائط التالية مرتبة تصاعديًا:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

خالية بدون —
مراجع حسب عناصر المسار (المجموعة، رقم تعريف المستند، المجموعة، رقم تعريف المستند...) على سبيل المثال: projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
سلسلة نصية ترتيب البايت بترميز UTF-8 في قواعد بيانات الإصدار العادي، يجب ألا تتجاوز القيمة 1,048,487 بايت (1 ميبيبايت - 89 بايت) ويتم أخذ أول 1,500 بايت فقط في الاعتبار في طلبات البحث. في قواعد بيانات إصدار Enterprise، لا يوجد حد أقصى لحجم القيمة (بخلاف حدود حجم المستند وإدخال الفهرس) ويتم أخذ القيمة الكاملة في الاعتبار من خلال طلبات البحث.
Vector حسب السمة ثم حسب قيم العناصر الفردية الحد الأقصى المسموح به لبُعد التضمين هو 2048. لتخزين المتجهات ذات الأبعاد الأكبر، استخدِم تقنية خفض الأبعاد.

ترتيب نوع القيمة

عندما يتضمن طلب البحث حقلاً يحتوي على قيم من أنواع مختلطة، يستخدم Cloud Firestore ترتيبًا حتميًا استنادًا إلى التمثيلات الداخلية. تعرض القائمة التالية الترتيب:

  1. القيم الفارغة
  2. القيم المنطقية
  3. قيم الأعداد الصحيحة والنقطة العائمة، مرتّبة ترتيبًا رقميًا
  4. قيم التاريخ
  5. قيم السلاسل النصية
  6. قيم البايت
  7. ‫Cloud Firestore مرجع
  8. قيم النقاط الجغرافية
  9. قيم المصفوفة
  10. متّجهات التضمين
  11. قيم الخريطة

الترتيب الرقمي

يفرز Cloud Firestore جميع القيم الرقمية (Integer وFloating point) متداخلة مع بعضها البعض. تتبع مقارنة الأعداد العشرية الترتيب الكامل لمعيار IEEE 754 مع استثناء ملحوظ وهو أنّ Cloud Firestore يوحّد جميع قيم NaN، ويعتبرها أقل من -Infinity.