این صفحه انواع دادههایی را که Cloud Firestore پشتیبانی میکند شرح میدهد.
انواع دادهها
جدول زیر انواع دادههای پشتیبانیشده توسط Cloud Firestore را فهرست میکند. همچنین ترتیب مرتبسازی مورداستفاده هنگام مقایسه مقادیر از یک نوع را شرح میدهد:
| نوع داده | گزینههای مرتبسازی | یادداشتها |
|---|---|---|
| عدد صحیح ۳۲ بیتی | سیستم اعداد |
۳۲ بیتی، علامتدار توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| عدد صحیح ۶۴ بیتی | سیستم اعداد | ۶۴ بیتی، امضاشده |
| آرایه | براساس مقادیر عنصر |
در پایگاههای داده نسخه Standard، آرایه نمیتواند حاوی مقدار آرایه دیگری بهعنوان یکی از عناصرش باشد. در پایگاههای داده نسخه Enterprise، یک آرایه میتواند حاوی مقدار آرایه بهعنوان یکی از عناصرش باشد. در یک آرایه، عناصر موقعیت اختصاصدادهشده به خود را حفظ میکنند. هنگام مرتبسازی دو یا چند آرایه، آرایهها براساس مقادیر عنصرشان مرتب میشوند. هنگام مقایسه دو آرایه، اولین عناصر هر آرایه با هم مقایسه میشوند. اگر عناصر اول برابر باشند، عناصر دوم مقایسه میشوند و این روند تا زمانی که تفاوتی پیدا شود ادامه مییابد. اگر عناصر آرایه برای مقایسه تمام شود اما تا آن نقطه برابر باشد، آرایه کوتاهتر قبلاز آرایه بلندتر مرتب میشود. بهعنوان مثال، |
| بولی | false < true |
— |
| مُهر زمان BSON | ترتیب زمانی |
مقدار مُهر زمان ۶۴ بیتی شامل ثانیههای یونیکس و شمارنده افزایشی. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| بایت | ترتیب بایت | در پایگاههای داده نسخه Standard، مقدار نباید از ۱٬۰۴۸٬۴۸۷ بایت (۱ مبیبایت - ۸۹ بایت) بیشتر باشد و فقط ۱٬۵۰۰ بایت اول توسط پُرسمانها درنظر گرفته میشود. در پایگاههای داده نسخه Enterprise، هیچ محدودیتی برای اندازه مقدار وجود ندارد (بهجز محدودیتهای اندازه سند و ورودی نمایه) و مقدار کامل توسط پُرسمانها درنظر گرفته میشود. |
| بایتها با زیرگونه | ترتیب بایت (زیرنوع، سپس مقدار) |
توالی بایت دودویی با نشانگر زیرنوع BSON. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| تاریخ و ساعت | ترتیب زمانی | وقتی در Cloud Firestore ذخیره میشود، فقط تا میکروثانیه دقیق است؛ هرگونه دقت بیشتر به پایین گرد میشود. |
| Decimal128 | سیستم اعداد |
عدد ممیز شناور دهدهی ۱۲۸ بیتی برای محاسبات با دقت بالا. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| عدد ممیز شناور | سیستم اعداد | دقت مضاعف ۶۴ بیتی طبق IEEE 754، ازجمله (نرمالشده) NaN و +/-Infinity. |
| نقطه جغرافیایی | براساس عرض جغرافیایی، سپس طول جغرافیایی | برای جستجو براساس فاصله، جستجوی جغرافیایی را ببینید. |
| نقشه | براساس کلیدها، سپس براساس مقدار | نشاندهنده شیء جاسازیشده در سند است. وقتی نمایهسازی شد، میتوانید در زیرفیلدها پُرسمان کنید. اگر این مقدار را از نمایهسازی مستثنی کنید، همه زیرفیلدها نیز از نمایهسازی مستثنی میشوند.
ترتیب کلید همیشه مرتب است. برای مثال، اگر
فیلدهای Map براساس کلید مرتب میشوند و براساس جفتهای کلید-مقدار مقایسه میشوند، ابتدا کلیدها و سپس مقادیر مقایسه میشوند. اگر اولین جفتهای کلید-مقدار برابر باشند، جفتهای کلید-مقدار بعدی مقایسه میشوند و این روند تا زمانی که تفاوتی پیدا شود ادامه مییابد. اگر دو نقشه جفتهای کلید-مقدار یکسانی داشته باشند، طول نقشه درنظر گرفته میشود. برای مثال، نقشههای زیر بهترتیب صعودی هستند:
|
| کلید Max | هیچکدام |
مقدار ویژهای که در مقایسه با همه مقادیر دیگر بالاتر است. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| کلید Min | هیچکدام |
مقدار ویژهای که در مقایسه با همه مقادیر دیگر (بهجز null) کمتر است. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| Null | هیچکدام | — |
| ObjectId | ترتیب بایت |
شناسه شیء ۱۲ بایتی. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| مرجع | براساس عناصر مسیر (مجموعه، شناسه سند، مجموعه، شناسه سند...) | برای مثال،
projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]. |
| عبارت باقاعده | براساس الگو، سپس براساس گزینهها |
الگو و گزینههای عبارت باقاعده. توجه: فقط در نسخه Enterprise پشتیبانی میشود. |
| رشته نوشتاری | ترتیب بایت کدبندیشده UTF-8 | در پایگاههای داده نسخه Standard، مقدار نباید از ۱٬۰۴۸٬۴۸۷ بایت (۱ مبیبایت - ۸۹ بایت) بیشتر باشد و فقط ۱٬۵۰۰ بایت اول توسط پُرسمانها درنظر گرفته میشود. در پایگاههای داده نسخه Enterprise، هیچ محدودیتی برای اندازه مقدار وجود ندارد (بهجز محدودیتهای اندازه سند و ورودی نمایه) و مقدار کامل توسط پُرسمانها درنظر گرفته میشود. |
| بردار | براساس بُعد و سپس براساس مقادیر عناصر جداگانه | حداکثر بُعد جاسازی پشتیبانیشده ۲۰۴۸ است. برای ذخیره کردن بردارها با ابعاد بزرگتر، از کاهش ابعاد استفاده کنید. |
ترتیب نوع مقدار
وقتی پُرسمانی شامل فیلدی با مقادیر از انواع مختلف باشد، Cloud Firestore از ترتیب قطعی براساس نمایشهای داخلی استفاده میکند. فهرست زیر ترتیب را نشان میدهد:
- مقادیر تهی
- حداقل مقادیر کلید (فقط نسخه Enterprise)
- مقادیر بولی
- مقادیر عدد صحیح ۶۴ بیتی و ممیز شناور، مرتبشده بهترتیب عددی. در پایگاههای داده نسخه Enterprise، مقادیر عدد صحیح ۳۲ بیتی و Decimal128 نیز گنجانده شده است.
- مقادیر تاریخ
- مقادیر رشته نوشتار
- مقادیر بایت. در نسخه Enterprise، بایتهای دارای مقادیر زیرنوع نیز گنجانده شدهاند.
- Cloud Firestore مرجع
- مقادیر ObjectId (فقط نسخه Enterprise)
- مقادیر امتیاز جغرافیایی
- عبارت باقاعده (فقط نسخه Enterprise)
- مقادیر آرایه
- جاسازیهای برداری
- مقادیر نقشه
- حداکثر مقادیر کلید (فقط نسخه Enterprise)
ترتیب عددی
Cloud Firestore همه مقادیر عددی (Integer و Floating point) را
بهصورت درهمتنیده با یکدیگر مرتب میکند. مقایسه ممیز شناور از ترتیب کلی IEEE 754 پیروی میکند، با این استثنای قابلتوجه که Cloud Firestore همه مقادیر NaN را نرمالسازی میکند و آن را کمتر از -Infinity درنظر میگیرد.