すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:MongoDB データベースのメジャーバージョンアップグレードに関する注意事項

最終更新日:Jun 05, 2026

ApsaraDB for MongoDB は、データベースのメジャーバージョンアップグレードをサポートしています。アップグレードの前に、インスタンスのアーキテクチャと現在のバージョンに基づいてアップグレード可能なメジャーバージョンを判断し、メジャーバージョン間の互換性の変更点を確認してください。

サポートされるアップグレードパス

  • ApsaraDB for MongoDB コンソールでデータベースのメジャーバージョンをアップグレードできます。ただし、利用可能なターゲットバージョンは、インスタンスのアーキテクチャ、インスタンスタイプ、および現在のバージョンによって異なります。詳細は以下のとおりです。

    アーキテクチャ

    インスタンスタイプ

    現在のメジャーバージョン

    アップグレード可能なバージョン

    スタンドアロンアーキテクチャ

    汎用 (クラウドディスク)

    MongoDB 4.0

    アップグレード可能な、より新しいメジャーバージョンはありません。

    汎用 (クラウドディスク)

    MongoDB 3.4

    インプレースアップグレードはサポートされていません。

    メジャーバージョンをアップグレードするには、新しいインスタンスを作成し、元のインスタンスと置き換えます。

    レプリカセットアーキテクチャ

    • 汎用 (クラウドディスク)

    • 専用 (クラウドディスク)

    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

    インスタンスを v4.4 から v5.0 にアップグレードすると、デフォルトの writeConcern{w:1} から {w:majority} に変更されます。これにより、書き込みパフォーマンスが低下し、書き込みレイテンシが増加する可能性があります。アップグレードする前に、この影響が許容範囲内であることを確認してください。

    • 汎用 (ローカルディスク)

    • 専用 (ローカルディスク)

    • 専用物理サーバー

    MongoDB 4.2

    インプレースアップグレードはサポートされていません。

    メジャーバージョンをアップグレードするには、新しいインスタンスを作成し、元のインスタンスと置き換えます。

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

    シャードクラスターアーキテクチャ

    専用 (クラウドディスク)

    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

    インスタンスを v4.4 から v5.0 にアップグレードすると、デフォルトの writeConcern{w:1} から {w:majority} に変更されます。これにより、書き込みパフォーマンスが低下し、書き込みレイテンシが増加する可能性があります。アップグレードする前に、この影響が許容範囲内であることを確認してください。

    • 汎用 (ローカルディスク)

    • 専用 (ローカルディスク)

    • 専用物理サーバー

    MongoDB 4.2

    インプレースアップグレードはサポートされていません。

    メジャーバージョンをアップグレードするには、新しいインスタンスを作成し、元のインスタンスと置き換えます。

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

  • 異なるアーキテクチャやストレージタイプ間でメジャーバージョンをアップグレードする必要がある場合は、まずターゲットのメジャーバージョンのインスタンスを作成し、次に Data Transmission Service (DTS) を使用してソースインスタンスから新しいインスタンスにデータを移行します。

    データ移行の手順については、以下のトピックをご参照ください。

メジャーバージョン間の互換性の変更

データベースのメジャーバージョン間の互換性の変更は次のとおりです:

重要
  • インスタンスのデータベースのメジャーバージョンをアップグレードするには、インスタンスが [Running] である必要があります。手順については、「データベースバージョンのアップグレード」をご参照ください。

  • メジャーバージョンアップグレード後のダウングレードはサポートされていません。

  • MongoDB 4.0 以降は MongoDB 3.6 の機能と互換性があります。MongoDB 3.6 の機能を使用するには、MongoDB 4.0 以降にアップグレードしてください。

  • これらの互換性に関する注意事項は、ApsaraDB for MongoDB カーネルの変更のみを対象としており、インスタンス管理機能の変更は対象外です。

データベースのメジャーバージョン

互換性の変更

MongoDB 8.3

  • MongoDB 8.3 で導入された式、パラメーター、または変数を使用してビューまたはコレクションバリデーターを作成した場合、ダウングレード後にこれらのビューが失敗したり、オブジェクトが正しく検証または評価されなかったりする可能性があります。

  • MongoDB 8.3 では、コレクションを validated としてマークするための新しい検証セマンティクスが導入されています。このセマンティクスは 8.3 より前のバージョンと互換性がありません。検証済みのコレクションが存在する場合、ダウングレードは失敗します。

  • MongoDB 8.3 以降、$facet ステージによって構築されたドキュメントが 100 MB の制限を超えると、MongoDB は ExceededMemoryLimit エラーに対して 4031700 の代わりにエラーコード 146 を返します。アプリケーション、ドライバー、またはツールが明示的に 4031700 をチェックしている場合は、新しい ExceededMemoryLimit エラーコードを検出するようにコードを更新する必要があります。

  • MongoDB 8.3 から以前のバージョンにダウングレードすると、activeBalancerWindowDOW (曜日ごとのバランサーウィンドウ) 設定は利用できなくなります。

  • removeShard コマンドは非推奨になりました。新しいコマンド startShardDrainingstopShardDrainingshardDrainingStatus、および commitShardRemoval を使用してシャードの削除を制御します。これらは、いつでも移行を一時停止および再開できます。

  • シャードクラスターでは、DDL 操作と applyOps は mongos を介して実行する必要があり、シャードノードで直接実行することはできません。

  • 2dsphereVersion のデフォルト値が 3 から 4 に変更されました。機能互換バージョン (FCV) を 8.3 未満にダウングレードするには、まずすべてのバージョン 4 の 2dsphere インデックスを削除する必要があります。

  • MongoDB 8.3 (および 8.0.18, 7.0.29) 以降、複合ワイルドカードインデックスは wildcardProjection 仕様に対してより厳格な検証ルールを適用します。既存のインデックスは新しい要件を満たしていなくても機能し続けますが、それに違反する新しいインデックスを作成することはできません。

  • 時系列コレクションの場合、refineCollectionShardKey はシャードキーが論理メタデータと時間フィールドを参照する必要があり、基になるバケット形式は使用できなくなりました。インデックスに _id_ という名前を付けることはできません。timeField 名は $ で始めることはできません。

  • serverStatus の出力から service フィールドが削除されました。

  • config.csrs.indexes システムコレクションが削除されました。

MongoDB 8.3 の詳細については、「Compatibility Changes in MongoDB 8.3」をご参照ください。

MongoDB 8.0

  • tcmallocAggressiveMemoryDecommit の使用は避けてください。

  • tcmallocReleaseRate パラメーターでメモリ解放レートを指定できます。ApsaraDB for MongoDB は、これをデフォルトで 10 MB/s に設定します。

  • null がクエリ条件として使用される場合、MongoDB は undefined 値に一致しなくなりました。

  • インデックスフィルターの使用は避けてください。

  • 時系列コレクションの場合、timeField をシャーディングキーとして使用することは避けてください。

  • cleanupOrphaned コマンドの使用は避けてください。

  • 同じコレクションに対して compact コマンドを同時に実行しないでください。

  • MongoDB 8.0 にアップグレードする前に、system.buckets という名前の時系列以外のコレクションの名前を変更または削除してください。

MongoDB 8.0 の詳細については、「Compatibility Changes in MongoDB 8.0」をご参照ください。

MongoDB 7.0

  • MongoDB 7.0 へのアップグレード時に互換性の問題はありません。

  • MongoDB 7.0 から以前のメジャーバージョンにダウングレードするには、まず 7.0 で導入された機能を削除する必要があります。例:

    • すべてのカラムナインデックス (columnar indexes) を削除します。

    • setClusterParameter コマンドを使用して設定されたクラスターパラメーターを登録解除します。詳細については、「setClusterParameter」をご参照ください。

    • encryptedFields オプションで作成されたすべてのコレクションを削除します。

    • すべての複合ワイルドカードインデックス (Compound wildcard indexes) を削除します。

MongoDB 7.0 の詳細については、「Compatibility Changes in MongoDB 7.0」をご参照ください。

MongoDB 6.0

  • 集計パイプラインが 100 MB を超えるメモリを使用する場合、MongoDB はデフォルトでディスク上の一時ファイルにデータを書き込みます。この動作を変更するには、グローバルパラメーター allowDiskUseByDefaultfalse に設定します。

    6.0 より前のバージョンでは、一時ディスクファイルにデータを書き込むために { allowDiskUse: true } を明示的に指定する必要があります。

  • dropIndexes をワイルドカード * と共に使用する場合、MongoDB は _id インデックスまたはシャードキーインデックスを削除しません。詳細については、「dropIndexes」をご参照ください。

  • Mongo Shell はサポートされなくなりました。代わりに mongosh を使用してください。

  • $explain$hint$max$maxTimeMS などの演算子はサポートされなくなりました。

  • TTL インデックスの expireAfterSecondsNaN に設定されている場合、それは 0 として扱われ、ドキュメントが即座に期限切れになる可能性があります。

  • SCRAM-SHA-1 認証方法はサポートされなくなりました。

  • reIndex コマンドとそれに対応する reIndex() メソッドはサポートされなくなりました。

MongoDB 6.0 の詳細については、「Compatibility Changes in MongoDB 6.0」をご参照ください。

MongoDB 5.0

  • セカンダリノードの Read Concern レベルは、available から local に変わります。詳細については、「Read Concern」をご参照ください。

  • デフォルトの Write Concern1 から majority に変更されます。

    重要

    この変更により、書き込みパフォーマンスが低下する可能性があります。アップグレードする前に影響を確認してください。 setDefaultRWConcern コマンドを使用して、デフォルトの writeConcern を変更することもできます。

  • db.collection.ensureIndex()はサポートされなくなりました。代わりに db.collection.createIndex() を使用してください。

  • saslStart および saslContinue コマンドのパラメーターは、厳密に検証されるようになり、mgo との互換性がなくなりました。saslContinueconversationIdpayload のみを必要としますが、mgo は余分な mechanism パラメーターを提供します。詳細については、「mgo」をご参照ください。

  • geoSearch を削除します。

MongoDB 5.0 の詳細については、「Compatibility Changes in MongoDB 5.0」をご参照ください。

MongoDB 4.4

  • compact では force オプションがサポートされなくなりました。詳細については、「compact」をご参照ください。

  • geoSearch はサポートされなくなりました。詳細については、「geoSearch」をご参照ください。

  • プライマリデータベースとセカンダリデータベースの両方で同時にインデックスを作成できるようになり、インデックス作成中のレプリケーションラグが削減されます。インデックスが構築されている間も、セカンダリは最新の状態に保たれます。

MongoDB 4.4 の詳細については、「Compatibility Changes in MongoDB 4.4」をご参照ください。

MongoDB 4.2

  • geoNear はサポートされなくなりました。代わりに $geoNear (aggregation) を使用してください。詳細については、「$geoNear (aggregation)」をご参照ください。

  • repairDatabase はサポートされなくなりました。

  • cloneCollection は削除され、サポートされなくなりました。代わりに mongoexportmongoimport を使用してください。詳細については、「mongoexport」と「mongoimport」をご参照ください。

  • afterClusterTime はサポートされなくなりました。詳細については、「afterClusterTime」をご参照ください。

  • オープンソースの MongoDB 4.2+ ドライバーでは、再試行可能な書き込みがデフォルトで有効になっています。詳細については、「再試行可能な書き込み」をご参照ください。

  • groupcopydbclone を削除します。

MongoDB 4.2 の詳細については、「MongoDB 4.2 の互換性更新に関する注意事項」をご参照ください。

MongoDB 4.0

  • reIndex は、インデックスの再構築が完了するまでグローバル書き込みロックを取得します。 詳細については、「reIndex」をご参照ください。

  • copydbclone はサポートされなくなりました。

MongoDB 4.0 の詳細については、「MongoDB 4.0 の互換性更新に関する注意事項」をご参照ください。

MongoDB 3.6

  • aggregate は、単一のドキュメントを返さなくなりました。 cursor を返すようになりました。 cursor を使用して batch サイズを指定できます。 aggregate の詳細については、「aggregate」をご参照ください。

  • $type: "array" は、ネストされた配列だけでなく、配列型のドキュメントを直接検出するようになりました。$type の詳細については、「$type」をご参照ください。

  • 配列のソート動作が次のように変更されました:

    • find には、詳細なソート結果を提供するための sort オプションが追加されています。find の詳細については、「find」をご参照ください。

    • $sort(aggregation) における $sort ステージ には、100 MB のメモリ制限があります。詳細については、「$sort (aggregation)」をご参照ください。

  • 1 回の操作で複数のフィールドを更新する場合、新しいフィールドは辞書順で追加されます。詳細については、「$set」をご参照ください。

  • snapshot クエリオプションはサポートされなくなりました。

MongoDB 3.6 の詳細については、「MongoDB 3.6 の互換性更新に関する注意事項」をご参照ください。

MongoDB 3.4

  • group はサポートされなくなったため、代わりに db.collection.aggregate() または db.collection.mapReduce() を使用してください。詳細については、「db.collection.aggregate()」および「db.collection.mapReduce()」をご参照ください。

  • $in 式を使用して、update 操作を + upsert: true と照合します。

    例:

    db.c.drop()
    db.c.update({a:{$in:[1]}},{$addToSet:{a:2}},{upsert:true}) // MongoDB 3.4 では失敗しますが、以前のバージョンでは成功します。
    db.c.update({a:{$elemMatch:{$in:[2]}}},{$addToSet:{a:2}},{upsert:true}) // MongoDB 3.4 では成功します。

    update の詳細については、「update」をご参照ください。

MongoDB 3.4 の詳細については、「MongoDB 3.4 の互換性の変更」をご参照ください。

関連 API

インターフェース

説明

UpgradeDBInstanceEngineVersion

ApsaraDB for MongoDB インスタンスのデータベースメジャーバージョンをアップグレードします。