انواع داده‌های پشتیبانی‌شده

این صفحه انواع داده‌هایی را که Cloud Firestore پشتیبانی می‌کند شرح می‌دهد.

انواع داده‌ها

جدول زیر انواع داده‌های پشتیبانی‌شده توسط Cloud Firestore را فهرست می‌کند. همچنین ترتیب مرتب‌سازی مورداستفاده هنگام مقایسه مقادیر از یک نوع را شرح می‌دهد:

نوع داده گزینه‌های مرتب‌سازی یادداشت‌ها
عدد صحیح ۳۲ بیتی سیستم اعداد

۳۲ بیتی، علامت‌دار

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

عدد صحیح ۶۴ بیتی سیستم اعداد ‫۶۴ بیتی، امضاشده
آرایه براساس مقادیر عنصر

در پایگاه‌های داده نسخه Standard، آرایه نمی‌تواند حاوی مقدار آرایه دیگری به‌عنوان یکی از عناصرش باشد. در پایگاه‌های داده نسخه Enterprise، یک آرایه می‌تواند حاوی مقدار آرایه به‌عنوان یکی از عناصرش باشد.

در یک آرایه، عناصر موقعیت اختصاص‌داده‌شده به خود را حفظ می‌کنند. هنگام مرتب‌سازی دو یا چند آرایه، آرایه‌ها براساس مقادیر عنصرشان مرتب می‌شوند.

هنگام مقایسه دو آرایه، اولین عناصر هر آرایه با هم مقایسه می‌شوند. اگر عناصر اول برابر باشند، عناصر دوم مقایسه می‌شوند و این روند تا زمانی که تفاوتی پیدا شود ادامه می‌یابد. اگر عناصر آرایه برای مقایسه تمام شود اما تا آن نقطه برابر باشد، آرایه کوتاه‌تر قبل‌از آرایه بلندتر مرتب می‌شود.

به‌عنوان مثال، [1, 2, 3] < [1, 2, 3, 1] < [2]. آرایه [2] بیشترین مقدار عنصر اول را دارد. آرایه [1, 2, 3] دارای عناصری برابر با سه عنصر اول [1, 2, 3, 1] است اما طول آن کوتاه‌تر است.

بولی ‫false < true —
مُهر زمان BSON ترتیب زمانی

مقدار مُهر زمان ۶۴ بیتی شامل ثانیه‌های یونیکس و شمارنده افزایشی.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

بایت ترتیب بایت در پایگاه‌های داده نسخه Standard، مقدار نباید از ۱٬۰۴۸٬۴۸۷ بایت (۱ مبی‌بایت - ۸۹ بایت) بیشتر باشد و فقط ۱٬۵۰۰ بایت اول توسط پُرسمان‌ها درنظر گرفته می‌شود. در پایگاه‌های داده نسخه Enterprise، هیچ محدودیتی برای اندازه مقدار وجود ندارد (به‌جز محدودیت‌های اندازه سند و ورودی نمایه) و مقدار کامل توسط پُرسمان‌ها درنظر گرفته می‌شود.
بایت‌ها با زیرگونه ترتیب بایت (زیرنوع، سپس مقدار)

توالی بایت دودویی با نشانگر زیرنوع BSON.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

تاریخ و ساعت ترتیب زمانی وقتی در Cloud Firestore ذخیره می‌شود، فقط تا میکروثانیه دقیق است؛ هرگونه دقت بیشتر به پایین گرد می‌شود.
Decimal128 سیستم اعداد

عدد ممیز شناور دهدهی ۱۲۸ بیتی برای محاسبات با دقت بالا.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

عدد ممیز شناور سیستم اعداد دقت مضاعف ۶۴ بیتی طبق IEEE 754، ازجمله (نرمال‌شده) NaN و +/-Infinity.
نقطه جغرافیایی براساس عرض جغرافیایی، سپس طول جغرافیایی برای جستجو براساس فاصله، جستجوی جغرافیایی را ببینید.
نقشه براساس کلیدها، سپس براساس مقدار

نشان‌دهنده شیء جاسازی‌شده در سند است. وقتی نمایه‌سازی شد، می‌توانید در زیرفیلدها پُرسمان کنید. اگر این مقدار را از نمایه‌سازی مستثنی کنید، همه زیرفیلدها نیز از نمایه‌سازی مستثنی می‌شوند.

ترتیب کلید همیشه مرتب است. برای مثال، اگر {c: "foo", a: "bar", b: "qux"} را بنویسید، نقشه براساس کلید مرتب می‌شود و به‌صورت {a: "bar", b: "qux", c: "foo"} ذخیره می‌شود.

فیلدهای Map براساس کلید مرتب می‌شوند و براساس جفت‌های کلید-مقدار مقایسه می‌شوند، ابتدا کلیدها و سپس مقادیر مقایسه می‌شوند. اگر اولین جفت‌های کلید-مقدار برابر باشند، جفت‌های کلید-مقدار بعدی مقایسه می‌شوند و این روند تا زمانی که تفاوتی پیدا شود ادامه می‌یابد. اگر دو نقشه جفت‌های کلید-مقدار یکسانی داشته باشند، طول نقشه درنظر گرفته می‌شود. برای مثال، نقشه‌های زیر به‌ترتیب صعودی هستند:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

کلید Max هیچ‌کدام

مقدار ویژه‌ای که در مقایسه با همه مقادیر دیگر بالاتر است.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

کلید Min هیچ‌کدام

مقدار ویژه‌ای که در مقایسه با همه مقادیر دیگر (به‌جز null) کمتر است.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

Null هیچ‌کدام —
ObjectId ترتیب بایت

شناسه شیء ۱۲ بایتی.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

مرجع براساس عناصر مسیر (مجموعه، شناسه سند، مجموعه، شناسه سند...) برای مثال، projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
عبارت باقاعده براساس الگو، سپس براساس گزینه‌ها

الگو و گزینه‌های عبارت باقاعده.

توجه: فقط در نسخه Enterprise پشتیبانی می‌شود.

رشته نوشتاری ترتیب بایت کدبندی‌شده UTF-8 در پایگاه‌های داده نسخه Standard، مقدار نباید از ۱٬۰۴۸٬۴۸۷ بایت (۱ مبی‌بایت - ۸۹ بایت) بیشتر باشد و فقط ۱٬۵۰۰ بایت اول توسط پُرسمان‌ها درنظر گرفته می‌شود. در پایگاه‌های داده نسخه Enterprise، هیچ محدودیتی برای اندازه مقدار وجود ندارد (به‌جز محدودیت‌های اندازه سند و ورودی نمایه) و مقدار کامل توسط پُرسمان‌ها درنظر گرفته می‌شود.
بردار براساس بُعد و سپس براساس مقادیر عناصر جداگانه حداکثر بُعد جاسازی پشتیبانی‌شده ۲۰۴۸ است. برای ذخیره کردن بردارها با ابعاد بزرگ‌تر، از کاهش ابعاد استفاده کنید.

ترتیب نوع مقدار

وقتی پُرسمانی شامل فیلدی با مقادیر از انواع مختلف باشد، Cloud Firestore از ترتیب قطعی براساس نمایش‌های داخلی استفاده می‌کند. فهرست زیر ترتیب را نشان می‌دهد:

  1. مقادیر تهی
  2. حداقل مقادیر کلید (فقط نسخه Enterprise)
  3. مقادیر بولی
  4. مقادیر عدد صحیح ۶۴ بیتی و ممیز شناور، مرتب‌شده به‌ترتیب عددی. در پایگاه‌های داده نسخه Enterprise، مقادیر عدد صحیح ۳۲ بیتی و Decimal128 نیز گنجانده شده است.
  5. مقادیر تاریخ
  6. مقادیر رشته نوشتار
  7. مقادیر بایت. در نسخه Enterprise، بایت‌های دارای مقادیر زیرنوع نیز گنجانده شده‌اند.
  8. ‫Cloud Firestore مرجع
  9. مقادیر ObjectId (فقط نسخه Enterprise)
  10. مقادیر امتیاز جغرافیایی
  11. عبارت باقاعده (فقط نسخه Enterprise)
  12. مقادیر آرایه
  13. جاسازی‌های برداری
  14. مقادیر نقشه
  15. حداکثر مقادیر کلید (فقط نسخه Enterprise)

ترتیب عددی

‫Cloud Firestore همه مقادیر عددی (Integer و Floating point) را به‌صورت درهم‌تنیده با یکدیگر مرتب می‌کند. مقایسه ممیز شناور از ترتیب کلی IEEE 754 پیروی می‌کند، با این استثنای قابل‌توجه که Cloud Firestore همه مقادیر NaN را نرمال‌سازی می‌کند و آن را کمتر از -Infinity درنظر می‌گیرد.