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

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

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

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

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

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

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

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

على سبيل المثال، [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 بايت.
التاريخ والوقت ترتيب زمني عند تخزينها في Cloud Firestore، تكون دقيقة إلى الميكرو ثانية فقط، ويتم تقريب أي دقة إضافية إلى الأسفل.
عدد عشري رقمي دقة مزدوجة بسعة 64 بت، IEEE 754
نقطة جغرافية حسب خط العرض، ثم خط الطول في الوقت الحالي، لا ننصح باستخدام هذا النوع من البيانات بسبب القيود المفروضة على طلبات البحث. من الأفضل بشكل عام تخزين خط العرض وخط الطول كحقول رقمية منفصلة. إذا كان تطبيقك يحتاج إلى استكشافات جغرافية بسيطة على بُعد، يمكنك الاطّلاع على طلبات البحث عن الموقع الجغرافي.
العدد الصحيح رقمي 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"}

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

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

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

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