Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for MongoDB:Önemli MongoDB veritabanı sürüm yükseltmelerine ilişkin notlar

Son Güncelleme:Oct 03, 2026

Veritabanının ana sürümünü yükseltmeden önce, örneğinizin mimarisine ve mevcut sürümüne göre hangi sürümlere yükseltebileceğinizi belirleyin ve her sürüm için uyumluluk değişikliklerini gözden geçirin.

Desteklenen yükseltme yolları

  • Bir veritabanının ana sürümünü ApsaraDB for MongoDB konsolundan yükseltebilirsiniz. Ancak, kullanılabilir hedef sürümler örneğinizin mimarisine, örnek türüne ve mevcut sürümüne bağlı olarak değişir. Ayrıntılar aşağıda verilmiştir:

    Mimari

    Örnek türü

    Mevcut ana sürüm

    Kullanılabilir yükseltme sürümleri

    Tek düğümlü mimari

    Cloud diskli genel amaçlı

    MongoDB 4.0

    Yükseltilebilecek daha yüksek bir ana sürüm bulunmamaktadır.

    Cloud diskli genel amaçlı

    MongoDB 3.4

    MongoDB 4.0'a yükseltmeyi destekler.

    Çoğaltma kümesi mimarisi

    • Cloud diskli genel amaçlı

    • Cloud diskli özel amaçlı

    MongoDB 8.0

    MongoDB 8,3

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Bir örneği v4.4'ten v5.0'a yükselttiğinizde, varsayılan writeConcern değeri {w:1} değerinden {w:majority} değerine değişir. Bu durum, yazma performansında düşüşe ve yazma gecikme süresinde artışa neden olabilir. Yükseltmeden önce bu etkinin kabul edilebilir olduğunu onaylayın.

    • Yerel diskli genel amaçlı

    • Yerel diskli özel amaçlı

    • Özel Fiziksel Sunucu

    MongoDB 4.2

    Satır içi yükseltme desteklenmez.

    Ana sürümü yükseltmek için yeni bir örnek oluşturup bunu orijinal örneğin yerine kullanabilirsiniz.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

    Parçalanmış küme mimarisi

    Cloud diskli özel amaçlı

    MongoDB 8.0

    MongoDB 8,3 (Başvurmak için destek kaydı oluşturun)

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Bir örneği v4.4'ten v5.0'a yükselttiğinizde, varsayılan writeConcern değeri {w:1} değerinden {w:majority} değerine değişir. Bu durum, yazma performansında düşüşe ve yazma gecikme süresinde artışa neden olabilir. Yükseltmeden önce bu etkinin kabul edilebilir olduğunu onaylayın.

    • Yerel diskli genel amaçlı

    • Yerel diskli özel amaçlı

    • Özel Fiziksel Sunucu

    MongoDB 4.2

    Satır içi yükseltme desteklenmez.

    Ana sürümü yükseltmek için yeni bir örnek oluşturup bunu orijinal örneğin yerine kullanabilirsiniz.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

  • Farklı mimariler veya depolama türleri arasında ana sürüm yükseltmesi yapmanız gerekiyorsa, önce hedef ana sürüme sahip bir örnek oluşturun ve ardından Data Transmission Service (DTS) kullanarak verileri kaynak örneğinden yeni örneğe geçirin.

    Veri geçişi talimatları için aşağıdaki konulara bakın:

Ana sürümler arasındaki uyumluluk değişiklikleri

Yükseltme yapmadan önce her bir ana veritabanı sürümü için uyumluluk değişikliklerini gözden geçirin:

Önemli
  • Ana veritabanı sürümünü yükseltmek için örneğin durumu Running olmalıdır. Talimatlar için bkz. Veritabanı sürümünü yükseltme.

  • Ana sürüm yükseltmesinden sonra sürüm düşürme işlemi desteklenmez.

  • MongoDB 4.0 ve sonraki sürümler, MongoDB 3.6 özellikleriyle uyumludur. MongoDB 3.6 özelliklerini kullanmak için MongoDB 4.0 veya sonraki bir sürüme yükseltin.

  • Bu uyumluluk notları yalnızca ApsaraDB for MongoDB çekirdeğindeki değişiklikleri kapsar; örnek yönetimi özelliklerindeki değişiklikleri kapsamaz.

Ana veritabanı sürümü

Uyumluluk değişiklikleri

MongoDB 8.3

  • MongoDB 8.3'te tanıtılan ifadeler, parametreler veya değişkenleri kullanarak görünümler veya koleksiyon doğrulayıcılar oluşturduysanız, sürüm düşürdüğünüzde bu görünümler başarısız olabilir veya nesneler doğru şekilde doğrulanmayabilir ya da değerlendirilmeyebilir.

  • MongoDB 8.3, koleksiyonları “doğrulandı” olarak işaretlemek için yeni doğrulama anlambilimi sunar. Bu anlambilim, 8.3'ten önceki sürümlerle uyumsuzdur. Doğrulanmış koleksiyonlar varsa sürüm düşürme girişimleri başarısız olur.

  • MongoDB 8.3'ten başlayarak, $facet aşaması tarafından oluşturulan belgeler 100 MB sınırını aştığında, MongoDB ExceededMemoryLimit hatası için 4031700 yerine 146 hata kodunu döndürür. Uygulamanız, sürücünüz veya aracınız açıkça 4031700 kodunu kontrol ediyorsa, yeni ExceededMemoryLimit hata kodunu algılamak için kodunuzu güncellemeniz gerekir.

  • MongoDB 8.3'ten daha eski bir sürüme geçtiğinizde, activeBalancerWindowDOW (haftanın günü dengeleyici penceresi) yapılandırması kullanılamaz hale gelir.

  • removeShard komutu kullanımdan kaldırılmıştır. Parça kaldırmayı kontrol etmek için yeni startShardDraining, stopShardDraining, shardDrainingStatus ve commitShardRemoval komutlarını kullanın. Bu komutlar, geçiş işlemini istediğiniz zaman duraklatmanıza ve devam ettirmenize olanak tanır.

  • Parçalanmış kümelerde, DDL işlemleri ve applyOps artık mongos üzerinden çalıştırılmalı ve doğrudan parça düğümlerinde yürütülemez.

  • 2dsphereVersion özelliğinin varsayılan değeri 3'ten 4'e yükseltilmiştir. Özellik uyumluluk sürümünü (FCV) 8.3'ün altına düşürmek için önce tüm sürüm 4 2dsphere dizinlerini silin.

  • MongoDB 8.3'ten (ve ayrıca 8.0.18, 7.0.29'dan) başlayarak, bileşik joker karakter dizinleri wildcardProjection belirtimi için daha katı doğrulama kuralları uygular. Mevcut dizinler yeni gereksinimleri karşılamasa bile çalışmaya devam eder, ancak bu kuralları ihlal eden yeni dizinler oluşturamazsınız.

  • Zaman serisi koleksiyonları için refineCollectionShardKey artık parça anahtarının mantıksal meta verilere ve zaman alanına başvurmasını gerektirir ve altta yatan paket biçimini artık kabul etmez. Dizinlere _id_ adı verilemez. timeField adı $ ile başlayamaz.

  • serverStatus çıktısından service alanı kaldırılmıştır.

  • config.csrs.indexes sistem koleksiyonu kaldırılmıştır.

MongoDB 8.3 hakkında daha fazla bilgi için bkz. MongoDB 8.3'teki Uyumluluk Değişiklikleri.

MongoDB 8.0

  • tcmallocAggressiveMemoryDecommit kullanımından kaçının.

  • tcmallocReleaseRate parametresi, bir bellek serbest bırakma oranı belirtmenize olanak tanır. ApsaraDB for MongoDB bunu varsayılan olarak 10 MB/s olarak ayarlar.

  • Sorgu koşulu olarak null kullanıldığında, MongoDB artık undefined değerlerle eşleşmez.

  • Dizin filtrelerinin kullanımından kaçının.

  • Zaman serisi koleksiyonları için timeField öğesini parçalama anahtarı olarak kullanmaktan kaçının.

  • cleanupOrphaned komutunun kullanımından kaçının.

  • Aynı koleksiyonda eşzamanlı compact komutları çalıştırmayın.

  • MongoDB 8.0'a yükseltmeden önce, system.buckets adlı zaman serisi olmayan tüm koleksiyonları yeniden adlandırın veya silin.

MongoDB 8.0 hakkında daha fazla bilgi için bkz. MongoDB 8.0'daki Uyumluluk Değişiklikleri.

MongoDB 7.0

  • MongoDB 7.0'a yükseltirken uyumluluk sorunu yoktur.

  • MongoDB 7.0'dan daha eski bir ana sürüme geçmek için önce 7.0'da tanıtılan özellikleri kaldırın, örneğin:

    • Tüm sütun dizinlerini (columnar indexes) silin.

    • setClusterParameter komutu kullanılarak ayarlanan küme parametrelerinin kaydını kaldırın. Ayrıntılar için bkz. setClusterParameter.

    • encryptedFields seçeneğiyle oluşturulan tüm koleksiyonları silin.

    • Tüm bileşik joker karakter dizinlerini (Compound wildcard indexes) silin.

MongoDB 7.0 hakkında daha fazla bilgi için bkz. MongoDB 7.0'daki Uyumluluk Değişiklikleri.

MongoDB 6.0

  • Bir toplama işlem hattı 100 MB'tan fazla bellek kullanıyorsa, MongoDB verileri varsayılan olarak diskteki geçici dosyalara yazar. Bu davranışı değiştirmek için allowDiskUseByDefault genel parametresini false olarak ayarlayın.

    6.0'dan önceki sürümler, verileri geçici disk dosyalarına yazmak için { allowDiskUse: true } değerinin açıkça belirtilmesini gerektirir.

  • dropIndexes joker karakteri * ile kullanıldığında, MongoDB _id dizinini veya parça anahtarı dizinini silmez. Daha fazla bilgi için bkz. dropIndexes.

  • Mongo Shell artık desteklenmemektedir. Bunun yerine mongosh kullanın.

  • $explain, $hint, $max ve $maxTimeMS gibi operatörler artık desteklenmemektedir.

  • TTL dizini expireAfterSeconds değeri NaN olarak ayarlandığında, bu değer 0 olarak kabul edilir ve bu durum belgelerin anında süresinin dolmasına neden olabilir.

  • SCRAM-SHA-1 kimlik doğrulama yöntemi artık desteklenmemektedir.

  • reIndex komutu ve buna karşılık gelen reIndex() yöntemi artık desteklenmemektedir.

MongoDB 6.0 hakkında daha fazla bilgi için bkz. MongoDB 6.0'daki Uyumluluk Değişiklikleri.

MongoDB 5.0

  • İkincil düğümler için Read Concern düzeyi available değerinden local değerine değişir. Daha fazla bilgi için bkz. Read Concern.

  • Varsayılan Write Concern değeri 1 değerinden majority değerine değişir.

    Önemli

    Bu değişiklik yazma performansını düşürebilir. Yükseltmeden önce etkisini onaylayın. Varsayılan writeConcern değerini değiştirmek için setDefaultRWConcern komutunu da kullanabilirsiniz.

  • db.collection.ensureIndex() artık desteklenmemektedir. Bunun yerine db.collection.createIndex() kullanın.

  • saslStart ve saslContinue komutlarının parametreleri artık sıkı bir şekilde doğrulanmaktadır ve mgo ile uyumlu değildir. saslContinue yalnızca conversationId ve payload gerektirir, ancak mgo ek bir mechanism parametresi sağlar. Daha fazla bilgi için bkz. mgo.

  • geoSearch kaldırılmıştır.

MongoDB 5.0 hakkında daha fazla bilgi için bkz. MongoDB 5.0'daki Uyumluluk Değişiklikleri.

MongoDB 4.4

  • compact artık force seçeneğini desteklememektedir. Daha fazla bilgi için bkz. compact.

  • geoSearch artık desteklenmemektedir. Daha fazla bilgi için bkz. geoSearch.

  • Artık hem birincil hem de ikincil veritabanlarında aynı anda dizinler oluşturulabilir; bu durum, dizin oluşturma sırasında çoğaltma gecikmesini azaltır. İkincil düğümler, dizinler oluşturulurken bile güncel kalır.

MongoDB 4.4 hakkında daha fazla bilgi için bkz. MongoDB 4.4'teki Uyumluluk Değişiklikleri.

MongoDB 4.2

  • geoNear artık desteklenmemektedir. Bunun yerine $geoNear (aggregation) kullanın. Daha fazla bilgi için bkz. $geoNear (aggregation).

  • repairDatabase artık desteklenmemektedir.

  • cloneCollection kaldırılmış ve artık desteklenmemektedir. Bunun yerine mongoexport ve mongoimport kullanın. Daha fazla bilgi için bkz. mongoexport ve mongoimport.

  • afterClusterTime artık desteklenmemektedir. Daha fazla bilgi için bkz. afterClusterTime.

  • Açık kaynaklı MongoDB 4.2+ sürücüleri, Yeniden Denenebilir Yazmaları varsayılan olarak etkinleştirir. Daha fazla bilgi için bkz. Retryable Writes.

  • group, copydb ve clone kaldırılmıştır.

MongoDB 4.2 hakkında daha fazla bilgi için bkz. MongoDB 4.2 uyumluluk güncelleme notları.

MongoDB 4.0

  • reIndex, dizin yeniden oluşturma tamamlanana kadar global bir yazma kilidi edinir. Daha fazla bilgi için bkz. reIndex.

  • copydb ve clone artık desteklenmemektedir.

MongoDB 4.0 hakkında daha fazla bilgi için bkz. MongoDB 4.0 uyumluluk güncelleme notları.

MongoDB 3.6

  • aggregate artık tek bir belge döndürmez. Bir cursor döndürür. batch boyutunu belirtebilirsiniz. aggregate hakkında daha fazla bilgi için bkz. aggregate.

  • $type: "array" artık yalnızca iç içe geçmiş dizileri değil, dizi türündeki belgeleri doğrudan algılar. $type hakkında daha fazla bilgi için bkz. $type.

  • Dizi sıralama davranışı aşağıdaki gibi değişir:

    • find, ayrıntılı sıralama sonuçları sağlamak için bir sort seçeneği ekler. find hakkında daha fazla bilgi için bkz. find.

    • $sort(aggregation) içindeki $sort stage için 100 MB bellek sınırı vardır. Daha fazla bilgi için bkz. $sort (aggregation).

  • Tek bir işlemde birden çok alanı güncellerken, yeni alanlar sözlük sırasına göre eklenir. Daha fazla bilgi için bkz. $set.

  • snapshot sorgu seçeneği artık desteklenmemektedir.

MongoDB 3.6 hakkında daha fazla bilgi için bkz. MongoDB 3.6 uyumluluk güncelleme notları.

MongoDB 3.4

  • group artık desteklenmemektedir. Bunun yerine db.collection.aggregate() veya db.collection.mapReduce() kullanın. Daha fazla bilgi için bkz. db.collection.aggregate() ve db.collection.mapReduce().

  • + upsert: true ile update işlemini eşleştirmek için $in ifadesini kullanın.

    Örnek:

    db.c.drop()
    db.c.update({a:{$in:[1]}},{$addToSet:{a:2}},{upsert:true}) // Fails in MongoDB 3.4, but succeeds in earlier versions.
    db.c.update({a:{$elemMatch:{$in:[2]}}},{$addToSet:{a:2}},{upsert:true}) // Succeeds in MongoDB 3.4.

    update hakkında daha fazla bilgi için bkz. update.

MongoDB 3.4 hakkında daha fazla bilgi için bkz. MongoDB 3.4 uyumluluk değişiklikleri.

İlgili API'ler


Arayüz


Açıklama


UpgradeDBInstanceEngineVersion


Bir ApsaraDB for MongoDB örneğinin ana veritabanı sürümünü yükseltir.