全部产品
Search
文档中心

ApsaraDB for MongoDB:Peningkatan versi utama ApsaraDB for MongoDB

更新时间:Jul 06, 2025

ApsaraDB for MongoDB mendukung peningkatan versi utama MongoDB. Layanan ini mendukung berbagai arsitektur instans dan versi. Sebelum melakukan peningkatan, pastikan Anda memahami versi utama MongoDB yang tersedia serta perubahan kompatibilitasnya.

Versi utama MongoDB yang tersedia untuk peningkatan

  • Anda dapat melakukan peningkatan versi utama di konsol ApsaraDB for MongoDB. Tabel berikut mencantumkan versi utama MongoDB yang tersedia dan menjelaskan apakah versi tersebut didukung dalam berbagai arsitektur instans dan versi.

    Arsitektur instans

    Kategori instans

    Versi utama saat ini

    Versi utama yang tersedia untuk peningkatan

    Instans mandiri

    Instans disk cloud tujuan umum

    MongoDB 4.0

    Tidak ada versi utama baru yang tersedia untuk peningkatan.

    Instans disk cloud tujuan umum

    MongoDB 3.4

    Anda tidak dapat meningkatkan versi utama instans.

    Untuk meningkatkan versi utama sebuah instans, Anda dapat membuat instans dan mengganti instans lama dengan instans baru. Untuk informasi tentang cara membuat instans mandiri, lihat Buat instans mandiri.

    Instans set replika

    • Instans disk cloud tujuan umum

    • Instans spesifikasi khusus yang menggunakan disk cloud

    MongoDB 8.0

    Tidak ada versi utama baru yang tersedia untuk peningkatan.

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Setelah sebuah instans ditingkatkan dari MongoDB 4.4 ke 5.0, kemungkinan terjadi penurunan performa tulis pada instans dan latensi tulis mungkin meningkat karena perubahan default writeConcern dari {w:1} menjadi {w:majority}. Evaluasi dampak potensial sebelum Anda melakukan peningkatan versi utama.

    • Instans tujuan umum yang menggunakan disk lokal

    • Instans spesifikasi khusus yang menggunakan disk lokal

    • Instans host khusus

    MongoDB 4.2

    Anda tidak dapat meningkatkan versi utama instans.

    Untuk meningkatkan versi utama sebuah instans, Anda dapat membuat instans dan mengganti instans lama dengan instans baru. Untuk informasi lebih lanjut tentang cara membuat instans set replika, lihat Buat instans set replika.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

    Instans kluster sharded

    Instans spesifikasi khusus yang menggunakan disk cloud

    MongoDB 8.0

    Tidak ada versi utama baru yang tersedia untuk peningkatan.

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Setelah sebuah instans ditingkatkan dari MongoDB 4.4 ke 5.0, kemungkinan terjadi penurunan performa tulis pada instans dan latensi tulis mungkin meningkat karena perubahan default writeConcern dari {w:1} menjadi {w:majority}. Evaluasi dampak potensial sebelum Anda melakukan peningkatan versi utama.

    • Instans tujuan umum yang menggunakan disk lokal

    • Instans spesifikasi khusus yang menggunakan disk lokal

    • Instans host khusus

    MongoDB 4.2

    Anda tidak dapat meningkatkan versi utama instans.

    Untuk meningkatkan versi utama sebuah instans, Anda dapat membuat instans dan mengganti instans lama dengan instans baru. Untuk informasi lebih lanjut tentang cara membuat instans kluster sharded, lihat Buat instans kluster sharded.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

  • Untuk meningkatkan versi utama sebuah instans di seluruh arsitektur instans atau kelas penyimpanan, buat instans yang menjalankan versi utama yang ingin Anda tingkatkan, lalu gunakan Data Transmission Service (DTS) untuk memigrasi data dari instans sumber ke instans yang dibuat. Untuk informasi lebih lanjut tentang cara membuat instans, lihat Buat Instans.

    Untuk informasi lebih lanjut tentang cara memigrasi data, lihat topik-topik berikut:

Perubahan kompatibilitas versi utama MongoDB

Tabel berikut menjelaskan perubahan kompatibilitas versi utama MongoDB.

Penting
  • Saat meningkatkan versi utama sebuah instans, instans harus dalam keadaan Running. Untuk informasi lebih lanjut tentang cara meningkatkan versi utama sebuah instans, lihat Tingkatkan Versi Utama Sebuah Instans.

  • Penurunan versi utama tidak didukung oleh instans.

  • Instans yang menjalankan MongoDB 4.0 atau lebih baru mendukung fitur-fitur MongoDB 3.6. Untuk menggunakan fitur-fitur MongoDB 3.6, tingkatkan instans Anda ke MongoDB 4.0 atau lebih baru.

  • Perubahan kompatibilitas yang dijelaskan dalam topik ini hanya melibatkan perubahan kernel MongoDB. Perubahan pada fitur manajemen instans tidak dijelaskan.

Versi mesin utama

Perubahan kompatibilitas

MongoDB 8.0

  • tcmallocAggressiveMemoryDecommit tidak direkomendasikan.

  • Parameter tcmallocReleaseRate dapat digunakan untuk menentukan laju pelepasan memori tertentu. Laju default adalah 10 MB/s di ApsaraDB for MongoDB.

  • Jika null digunakan sebagai predikat kueri, MongoDB tidak akan mencocokkan nilai undefined.

  • Filter indeks tidak direkomendasikan.

  • timeField tidak direkomendasikan sebagai kunci shard untuk koleksi time series.

  • Perintah cleanupOrphaned tidak direkomendasikan.

  • Beberapa perintah compact tidak dapat dijalankan secara bersamaan pada sebuah koleksi.

  • Ganti nama atau hapus koleksi system.buckets yang bukan merupakan time series sebelum meningkatkan ke MongoDB 8.0.

Untuk informasi lebih lanjut, lihat Perubahan Kompatibilitas di MongoDB 8.0.

MongoDB 7.0

  • Saat Anda meningkatkan versi utama sebuah instans ke MongoDB 7.0, tidak ada masalah kompatibilitas yang ada.

  • Jika Anda ingin menurunkan versi sebuah instans dari MongoDB 7.0 ke versi utama sebelumnya, Anda harus menghapus fitur yang didukung oleh MongoDB 7.0, seperti item-item berikut:

    • Hapus semua indeks kolom.

    • Hapus parameter kluster yang ditentukan oleh perintah setClusterParameter. Untuk informasi lebih lanjut, lihat setClusterParameter.

    • Hapus semua koleksi yang dibuat dengan opsi encryptedFields.

    • Hapus semua indeks wildcard majemuk.

Untuk informasi lebih lanjut, lihat Perubahan Kompatibilitas di MongoDB 7.0.

MongoDB 6.0

  • Jika ukuran data yang terlibat dalam pipeline agregasi melebihi 100 MB, data akan ditulis ke penyimpanan disk sementara secara default. Untuk mengubah pengaturan default ini, atur parameter allowDiskUseByDefault ke false.

    Jika Anda menggunakan versi sebelum MongoDB 6.0, Anda harus menggunakan sintaks { allowDiskUse: true } untuk mengizinkan penulisan data ke penyimpanan disk sementara.

  • Jika Anda menentukan * dalam perintah dropIndexes, Anda dapat menghapus semua indeks kecuali indeks _id dan indeks kunci shard terakhir yang tersisa. Untuk informasi lebih lanjut, lihat dropIndexes.

  • mongo shell sudah tidak digunakan lagi. Gunakan mongosh sebagai gantinya.

  • Operator seperti $explain, $hint, $max, dan $maxTimeMS sudah tidak digunakan lagi.

  • Jika parameter expireAfterSeconds diatur ke NaN (atau 0) untuk indeks TTL (time to live), dokumen yang kedaluwarsa mungkin langsung dihapus.

  • Mekanisme SCRAM-SHA-1 sudah tidak digunakan lagi.

  • Perintah reIndex dan metode reIndex() yang sesuai sudah tidak digunakan lagi.

Untuk informasi lebih lanjut, lihat Perubahan Kompatibilitas di MongoDB 6.0.

MongoDB 5.0

  • Tingkat read concern node sekunder diubah dari available menjadi local. Untuk informasi lebih lanjut, lihat Read Concern.

  • Default write concern diubah dari 1 menjadi majority.

    Penting

    Perubahan ini dapat menurunkan performa tulis instans Anda. Anda juga dapat menjalankan perintah setDefaultRWConcern untuk mengubah default writeConcern instans.

  • Metode db.collection.ensureIndex() sudah tidak digunakan lagi. Anda dapat menggunakan metode db.collection.createIndex() sebagai gantinya.

  • Parameter perintah saslStart dan saslContinue divalidasi secara ketat dan tidak didukung oleh driver MongoDB untuk Go (mgo). Perintah saslContinue hanya berisi parameter conversationId dan payload, sedangkan mgo memiliki parameter tambahan mechanism. Untuk informasi lebih lanjut, kunjungi mgo.

  • Perintah geoSearch sudah tidak digunakan lagi.

Untuk informasi lebih lanjut, lihat Perubahan Kompatibilitas di MongoDB 5.0.

MongoDB 4.4

  • Opsi force sudah tidak digunakan lagi dari perintah compact. Untuk informasi lebih lanjut, lihat compact.

  • Perintah geoSearch sudah tidak digunakan lagi. Untuk informasi lebih lanjut, lihat geoSearch.

  • Anda dapat membuat indeks pada database primer dan sekunder untuk mengurangi latensi yang disebabkan oleh pembuatan indeks. Dengan cara ini, saat indeks sedang dibuat, database sekunder masih dapat mengakses data terbaru.

Untuk informasi lebih lanjut, lihat Perubahan Kompatibilitas di MongoDB 4.4.

MongoDB 4.2

  • Perintah geoNear sudah tidak digunakan lagi. Gunakan perintah $geoNear (aggregation) sebagai gantinya. Untuk informasi lebih lanjut, lihat $geoNear.

  • Perintah repairDatabase sudah tidak digunakan lagi.

  • Perintah cloneCollection sudah tidak digunakan lagi. Gunakan alat mongoexport dan mongoimport sebagai gantinya. Untuk informasi lebih lanjut, lihat mongoexport, dan mongoimport.

  • Opsi afterClusterTime untuk read concern sudah tidak digunakan lagi. Untuk informasi lebih lanjut, lihat Operasi Baca dan afterClusterTime.

  • Driver yang kompatibel dengan MongoDB 4.2 atau lebih baru mengaktifkan penulisan ulang yang dapat diulang secara default. Untuk informasi lebih lanjut, lihat Penulisan Ulang yang Dapat Diulang.

  • Perintah group, copydb, dan clone sudah tidak digunakan lagi.

Untuk informasi lebih lanjut, lihat Perubahan kompatibilitas di MongoDB 4.2.

MongoDB 4.0

  • Perintah reIndex memperoleh kunci eksklusif global (W) dan memblokir operasi lainnya hingga indeks dibangun ulang. Untuk informasi lebih lanjut, lihat reIndex.

  • Perintah copydb dan clone sudah tidak digunakan lagi.

Untuk informasi lebih lanjut, lihat Perubahan kompatibilitas di MongoDB 4.0.

MongoDB 3.6

  • Penggunaan perintah aggregate tanpa opsi cursor untuk mengembalikan satu dokumen sudah tidak digunakan lagi. Kecuali Anda menyertakan opsi explain, Anda harus menentukan opsi cursor. Anda dapat menggunakan opsi cursor untuk menentukan ukuran batch. Untuk informasi lebih lanjut tentang perintah aggregate, lihat aggregate.

  • Di MongoDB 3.6 dan versi lebih baru, kueri untuk $type: "array" mengembalikan dokumen di mana bidang itu sendiri adalah array. Di versi sebelum MongoDB 3.6, kueri untuk $type: "array" mengembalikan dokumen di mana bidang itu sendiri adalah array yang berisi setidaknya satu elemen dari tipe array. Untuk informasi lebih lanjut tentang $type, lihat $type.

  • Perubahan berikut ditambahkan ke urutan array:

    • Opsi sort opsional ditambahkan ke perintah find untuk memberikan urutan hasil. Untuk informasi lebih lanjut tentang perintah find, lihat find.

    • $sort dalam tahap $sort(aggregation) memiliki batas memori 100 MB. Untuk informasi lebih lanjut, lihat $sort (aggregation).

  • Jika operasi pembaruan melibatkan beberapa bidang, bidang tersebut akan ditambahkan dalam urutan leksikografis. Untuk informasi lebih lanjut, lihat $set.

  • Opsi kueri snapshot sudah tidak digunakan lagi.

Untuk informasi lebih lanjut, lihat Perubahan kompatibilitas di MongoDB 3.6.

MongoDB 3.4

  • Perintah group sudah tidak digunakan lagi. Gunakan metode db.collection.aggregate() atau db.collection.mapReduce() sebagai gantinya. Untuk informasi lebih lanjut, lihat db.collection.aggregate(pipeline, options) dan db.collection.mapReduce(map,reduce, { <options> }).

  • Ekspresi $in digunakan dengan opsi upsert disetel ke true untuk menentukan apakah dokumen yang cocok ada dan operasi update yang sesuai.

    Contoh:

    db.c.drop()
    db.c.update({a:{$in:[1]}},{$addToSet:{a:2}},{upsert:true}) //Data record tidak dapat dimasukkan ke database yang menjalankan MongoDB 3.4 tetapi dapat dimasukkan ke database yang menjalankan versi utama sebelum MongoDB 3.4.
    db.c.update({a:{$elemMatch:{$in:[2] }},{$ addToSet:{a:2 },{ upsert:true}) // Data record dapat dimasukkan ke database yang menjalankan MongoDB 3.4.

    Untuk informasi lebih lanjut tentang perintah update, lihat update.

Untuk informasi lebih lanjut, lihat Perubahan kompatibilitas di MongoDB 3.4.

Operasi API terkait

Operasi

Deskripsi

UpgradeDBInstanceEngineVersion

Memutakhirkan versi mesin instans ApsaraDB for MongoDB.