Yalnızca Cloud Firestore Enterprise sürümü için geçerlidir. |
Bu sayfada, MongoDB uyumlu Cloud Firestore ile MongoDB arasındaki davranış farklılıkları açıklanmaktadır.
MongoDB sürümüne göre desteklenen özelliklerin dökümü için aşağıdaki kaynaklara bakın:
- Desteklenen özellikler: 8.0
- Desteklenen özellikler: 7.0
- Desteklenen özellikler: 6.0
- Desteklenen özellikler: 5.0
Bağlantılar ve veritabanları
- Her bağlantı, MongoDB uyumluluğu olan tek bir Cloud Firestore veritabanıyla sınırlıdır.
- Bir veritabanına bağlanmadan önce veritabanı oluşturulmalıdır.
Adlandırma
Veri modelinizin bölümlerini adlandırma konusunda aşağıdaki farklılıklar geçerlidir.
Koleksiyonlar
__.*__
ile eşleşen koleksiyon adları desteklenmez.
Alanlar
__.*__
ile eşleşen alan adları desteklenmez.- Boş alan adları desteklenmez.
Dokümanlar
- Maksimum belge boyutu 4 MiB'tir.
- Alanların maksimum iç içe yerleştirme derinliği 20'dir. Dizi ve Nesne türündeki her alan, genel derinliğe bir düzey ekler.
_id
- Belge
_id
(üst düzey alan) bir ObjectId, String veya 64 bit tamsayı olmalıdır. Diğer BSON türleri desteklenmez. - Boş dize ("") ve 64 bit 0 (0L) desteklenmez.
Değerler
- JavaScript, Symbol, DBPointer ve Undefined BSON türleri desteklenmez.
Tarih
- Tarih değerleri
[0001-01-01T00:00:00Z, 9999-12-31T23:59:59Z]
içinde olmalıdır.
Decimal128
NaN
, pozitif sonsuz ve negatif sonsuz değerleri yazma sırasında standartlaştırılır.- Decimal128 üzerinde aritmetik işlemler desteklenmez.
Çift
NaN
değerleri yazma sırasında standartlaştırılır.
Normal ifade
- Normal ifade seçenekleri geçerli olmalı ("i", "m", "s", "u" veya "x") ve tekrarlanmadan alfabetik sırayla sağlanmalıdır.
Sorgular
- Doğal sıralama düzeni (açık bir sıralama içermeyen sorgular), ekleme sırasıyla veya
_id
alanına göre artan düzende sıralamayla eşleşmiyor.
Toplamalar
- Toplama işlemleri 250 aşamayla sınırlıdır.
$merge
ve$out
aşamaları desteklenmez. Desteklenen aşamaların ve operatörlerin tam listesi için komutlar bölümüne bakın.$lookup
aşaması,_id
üzerindeforeignField
belirtmekle sınırlıdır.
Yazma işlemleri
- Adı dolar işareti ("$") ile başlayan dokümanlar,
update
veyafindAndModify
'nin upsert özelliği kullanılarak oluşturulamaz. - Sürücünün bu özelliği kullanmaya çalışmadığından emin olmak için bağlantı dizenizin
retryWrites=false
içerdiğinden (veya sürücünüze uygun yöntemi kullandığınızdan) emin olun. Yeniden denenebilir yazma işlemleri desteklenmez.
İşlemler
Anlık görüntü yalıtımı ve serileştirilebilir işlemler desteklenir.
Varsayılan olarak, işlemler anlık görüntü izolasyonu ile iyimser eşzamanlılık kontrollerini kullanır.
Endişeyi okuma
MongoDB uyumluluğu olan Cloud Firestore ,
snapshot
,majority
velinearizable
okuma endişelerini destekler. Varsayılan değer, anlık görüntü yalıtımını ifade edensnapshot
'dır.Uygulama sıkı tutarlılık gerektirdiğinde ve yazma çarpıklığı anomalilerini önlemesi gerektiğinde
linearizable
kullanın. Diğer iş yükleri için,snapshot
performans artırılabilir ve işlem anlaşmazlığı azaltılabilir.
Yazma endişesi
- Yalnızca
w: 'majority'
vew: 1
yazma endişeleri desteklenir.
Okuma tercihi
- Yalnızca
primary
,primaryPreferred
,primary_preferred
,secondary_preferred
venearest
okuma sorunları desteklenir.
Dizinler
- Joker karakter içeren dizinler desteklenmez.
- MongoDB uyumlu Cloud Firestore,
_id
üzerinde otomatik olarak dizin oluşturmaz ancak_id
değerlerinin bir koleksiyonda benzersiz olmasını sağlar. - Çok anahtarlı özelliği etkinleştirilmemiş dizinler, yazma işlemlerine göre otomatik olarak çok anahtarlı dizinlere dönüştürülmez. Dizini oluştururken çoklu anahtarı etkinleştirmeniz gerekir ve bu seçenek değiştirilemez.
Hatalar
- Hata kodları ve mesajları, MongoDB uyumluluğu olan Cloud Firestore ile MongoDB arasında farklılık gösterebilir.
Komutlar
Aşağıdaki davranış farklılıkları belirli komutlar için geçerlidir.
- Aşağıdaki tablolarda listelenmeyen komutlar desteklenmez.
maxTimeMS
çoğu komut tarafından kabul edilir ancak yoksayılabilir.
Sorgular ve yazma işlemleri
Command | Desteklenmeyen Alanlar |
---|---|
|
|
|
|
|
|
|
|
|
Silme ifadesinde:
|
|
|
|
|
|
|
|
|
|
(hiçbiri) |
İşlemler ve oturumlar
Command | Desteklenmeyen Alanlar |
---|---|
|
|
|
|
|
(hiçbiri) |
Yönetim
Command | Desteklenmeyen Alanlar | Notlar |
---|---|---|
|
|
filter sağlanırsa boş olmalıdır. |
|
|
authorizedCollections sağlanıyorsa false olmalıdır. |
|
|
|
|
|
Bu komut etkisizdir.capped sağlanırsa yanlış olmalıdır. |
Sırada ne var?
- Hızlı Başlangıç: Veritabanı oluşturma ve veritabanına bağlanma başlıklı hızlı başlangıç kılavuzunu uygulayın.
- Desteklenen özelliklerin tam listesi için Desteklenen MongoDB veri türleri, sürücüler ve özellikler başlıklı makaleyi inceleyin.