أنواع البيانات المدعومة

تصف هذه الصفحة أنواع البيانات التي يدعمها 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 MiB - 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"}

نان لا أحد
باطل لا أحد
مرجع حسب عناصر المسار (المجموعة، معرف الوثيقة، المجموعة، معرف الوثيقة...) على سبيل المثال، projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
سلسلة نصية ترتيب البايت المشفر UTF-8 ما يصل إلى 1,048,487 بايت (1 MiB - 89 بايت). يتم أخذ أول 1500 بايت فقط من تمثيل UTF-8 في الاعتبار بواسطة الاستعلامات.

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

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

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