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

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

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

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

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

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

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

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

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

قيمة منطقية false < true
وحدات البايت ترتيب البايت في قواعد بيانات الإصدار Standard، يجب ألا تتجاوز القيمة 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 في قواعد بيانات الإصدار Standard، يجب ألا تتجاوز القيمة 1,048,487 بايت (1 ميغابايت - 89 بايت)، ولا تأخذ الطلبات في الاعتبار سوى أول 1,500 بايت. في قواعد بيانات إصدار Enterprise، ليس هناك حدّ أقصى لحجم القيمة (باستثناء الحدّ الأقصى لحجم المستند وإدخال الفهرس)، وتأخذ طلبات البحث القيمة الكاملة في الاعتبار.
المتّجه حسب السمة ثم حسب قيم العناصر الفردية الحد الأقصى لأبعاد التضمين المسموح بها هو 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.