فقط مربوط به Cloud Firestore Enterprise edition. |
این صفحه تفاوت های رفتاری بین Cloud Firestore با سازگاری MongoDB و MongoDB را توضیح می دهد.
برای تفکیک ویژگی های پشتیبانی شده بسته به نسخه MongoDB، نگاه کنید به:
- ویژگی های پشتیبانی شده: 8.0
- ویژگی های پشتیبانی شده: 7.0
- ویژگی های پشتیبانی شده: 6.0
- ویژگی های پشتیبانی شده: 5.0
اتصالات و پایگاه های داده
- هر اتصال به یک Cloud Firestore با پایگاه داده سازگاری MongoDB محدود می شود.
- قبل از اتصال به آن باید یک پایگاه داده ایجاد شود.
نامگذاری
تفاوتهای زیر برای نامگذاری بخشهایی از مدل داده شما اعمال میشود.
مجموعه ها
- نام مجموعه مطابق با
__.*__
پشتیبانی نمی شود.
فیلدها
- نام فیلدهای مطابق با
__.*__
پشتیبانی نمی شود. - نام فیلدهای خالی پشتیبانی نمی شود.
اسناد
- حداکثر اندازه سند 4 مگابایت است.
- حداکثر عمق تودرتو فیلدها 20 است. هر آرایه و فیلد با شیء تایپ یک سطح به عمق کلی اضافه می کند.
_id
- Document
_id
(فیلد سطح بالا) باید یک ObjectId، رشته یا عدد صحیح 64 بیتی باشد. سایر انواع BSON پشتیبانی نمی شوند. - رشته خالی ("") و 64 بیت 0 (0L) پشتیبانی نمی شوند.
ارزش ها
- انواع JavaScript، Symbol، DBPointer و Undefined BSON پشتیبانی نمی شوند.
تاریخ
- مقادیر تاریخ باید در
[0001-01-01T00:00:00Z, 9999-12-31T23:59:59Z]
قرار گیرند.
اعشاری128
- مقادیر
NaN
، بی نهایت مثبت و بی نهایت منفی در نوشتن متعارف می شوند. - عملیات حسابی روی Decimal128 پشتیبانی نمی شود.
دوبل
- مقادیر
NaN
در نوشتن متعارف می شوند.
بیان منظم
- گزینه های عبارت منظم باید معتبر باشند ("i"، "m"، "s"، "u"، یا "x") و به ترتیب حروف الفبا و بدون تکرار ارائه شوند.
پرس و جوها
- ترتیب مرتب سازی طبیعی (پرس و جوهای بدون مرتب سازی صریح) با ترتیب درج یا ترتیب با
_id
صعودی مطابقت ندارد.
تجمعات
- تجمعات به 250 مرحله محدود می شوند.
- مراحل
$merge
و$out
پشتیبانی نمی شوند. برای مشاهده لیست کامل مراحل و عملگرهای پشتیبانی شده به بخش دستورات مراجعه کنید. - مرحله
$lookup
محدود به تعیین یکforeignField
در_id
است.
می نویسد
- اسنادی که نام آنها با علامت دلار ("$") شروع می شود را نمی توان با استفاده از ویژگی upsert
update
یاfindAndModify
ایجاد کرد. - مطمئن شوید که رشته اتصال شما شامل
retryWrites=false
باشد (یا از روش مناسب برای درایور خود استفاده کنید) تا مطمئن شوید که درایور سعی در استفاده از این ویژگی ندارد. نوشته های قابل امتحان مجدد پشتیبانی نمی شوند.
معاملات
جداسازی عکس فوری و تراکنشهای قابل سریالسازی پشتیبانی میشوند.
به طور پیشفرض، تراکنشها از کنترلهای همزمان خوشبینانه با جداسازی عکس فوری استفاده میکنند.
نگرانی را بخوانید
Cloud Firestore با سازگاری MongoDB از نگرانیهای خواندن
snapshot
،majority
وlinearizable
پشتیبانی میکند. پیشفرضsnapshot
است که به جداسازی عکس فوری اشاره دارد.زمانی که برنامه به سازگاری دقیق نیاز دارد و باید از ناهنجاری های انحرافی نوشتن جلوگیری کند،
linearizable
استفاده کنید. برای بارهای کاری دیگر،snapshot
می تواند عملکرد را بهبود بخشد و اختلافات تراکنش را کاهش دهد.
نگرانی را بنویسید
- فقط
w: 'majority'
وw: 1
نگرانی های نوشتن پشتیبانی می شوند.
اولویت را بخوانید
- فقط نگرانی های
primary
،primaryPreferred
،primary_preferred
،secondary_preferred
، وnearest
موارد خوانده شده پشتیبانی می شوند.
شاخص ها
- نمایه های Wildcard پشتیبانی نمی شوند.
- Cloud Firestore با سازگاری MongoDB به طور خودکار یک شاخص در
_id
ایجاد نمی کند، اما تضمین می کند که مقادیر_id
در یک مجموعه منحصر به فرد هستند. - فهرستهای بدون چند کلید فعال به صورت خودکار به فهرستهای چند کلیدی بر اساس عملیات نوشتن تغییر نمیکنند. هنگام ایجاد ایندکس باید چند کلید را فعال کنید و این گزینه قابل تغییر نیست.
خطاها
- کدهای خطا و پیام ها ممکن است بین Cloud Firestore با سازگاری MongoDB و MongoDB متفاوت باشد.
دستورات
تفاوت های رفتاری زیر برای دستورات خاص اعمال می شود.
- دستوراتی که در جدول های زیر فهرست نشده اند پشتیبانی نمی شوند.
-
maxTimeMS
توسط اکثر دستورات پذیرفته شده است اما ممکن است نادیده گرفته شود.
پرس و جو می کند و می نویسد
فرمان | فیلدهای پشتیبانی نشده |
---|---|
|
|
|
|
|
|
|
|
|
در بیانیه حذف:
|
|
|
|
|
|
|
|
|
| (هیچ کدام) |
معاملات و جلسات
فرمان | فیلدهای پشتیبانی نشده |
---|---|
|
|
|
|
| (هیچ کدام) |
اداره
فرمان | فیلدهای پشتیبانی نشده | یادداشت ها |
---|---|---|
|
| در صورت ارائه filter باید خالی باشد. |
|
| authorizedCollections در صورت ارائه باید نادرست باشند. |
|
| |
|
| این دستور یک no-op است. در صورت ارائه capped باید نادرست باشد. |
بعدش چی
- اجرای Quickstart: یک پایگاه داده ایجاد کنید و به آن متصل شوید .
- برای فهرست کامل ویژگیهای پشتیبانیشده، به انواع دادهها، درایورها و ویژگیهای پشتیبانی شده MongoDB مراجعه کنید.