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

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