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

تصف هذه الصفحة أنواع البيانات التي تتوافق معها 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 بايت). تكون أول 1500 بايت فقط في الاعتبار من خلال الاستعلامات.
التاريخ والوقت ترتيب زمني عند التخزين في 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 بايت). أول 1500 بايت فقط من تنظر طلبات البحث في تمثيل UTF-8.
المتجه حسب البُعد ثم حسب قيم العناصر الفردية الحد الأقصى لبُعد التضمين المسموح به هو 2048. لتخزين المتجهات باستخدام بأبعاد أكبر، استخدم تقليل الأبعاد.

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

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

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