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

ApsaraDB for MongoDB:ApsaraDB for MongoDB メジャーバージョンアップグレード

最終更新日:Apr 28, 2025

ApsaraDB for MongoDB は、MongoDB メジャーバージョンのアップグレードをサポートしています。 ApsaraDB for MongoDB は、さまざまなインスタンスアーキテクチャとバージョンをサポートしています。インスタンスをアップグレードする前に、アップグレードに使用できる MongoDB メジャーバージョンと、その互換性の変更について理解しておくことをお勧めします。

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

  • ApsaraDB for MongoDB コンソールでメジャーバージョンアップグレードを実行できます。次の表に、使用可能な MongoDB メジャーバージョンと、さまざまなインスタンスアーキテクチャとバージョンでバージョンがサポートされているかどうかを示します。

    インスタンスアーキテクチャ

    インスタンスカテゴリ

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

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

    スタンドアロンインスタンス

    汎用クラウドディスクインスタンス

    MongoDB 4.0

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

    汎用クラウドディスクインスタンス

    MongoDB 3.4

    インスタンスのメジャーバージョンをアップグレードすることはできません。

    インスタンスのメジャーバージョンをアップグレードするには、インスタンスを作成し、古いインスタンスを新しいインスタンスに置き換えることができます。スタンドアロンインスタンスの作成方法については、「スタンドアロンインスタンスを作成する」をご参照ください。

    レプリカセットインスタンス

    クラウドディスクを使用する専用インスタンス

    MongoDB 8.0

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

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    インスタンスが MongoDB 4.4 から 5.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 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    インスタンスが MongoDB 4.4 から 5.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) を使用してソースインスタンスから作成されたインスタンスにデータを移行します。インスタンスの作成方法については、「インスタンスを作成する」をご参照ください。

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

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

次の表に、MongoDB メジャーバージョンの互換性の変更を示します。

重要
  • インスタンスのメジャーバージョンをアップグレードする場合、インスタンスは [実行中] 状態である必要があります。インスタンスのメジャーバージョンのアップグレード方法については、「インスタンスのメジャーバージョンをアップグレードする」をご参照ください。

  • メジャーバージョンのダウングレードは、インスタンスではサポートされていません。

  • MongoDB 4.0 以降を実行するインスタンスは、MongoDB 3.6 の機能をサポートしています。 MongoDB 3.6 の機能を使用するには、インスタンスを MongoDB 4.0 以降にアップグレードします。

  • このトピックで説明されている互換性の変更は、MongoDB カーネルの変更のみを対象としています。インスタンス管理機能の変更については説明していません。

メジャーエンジンバージョン

互換性の変更

MongoDB 8.0

  • tcmallocAggressiveMemoryDecommit は推奨されません。

  • tcmallocReleaseRate パラメータを使用して、特定のメモリ解放率を指定できます。 ApsaraDB for MongoDB のデフォルトレートは 10 MB/秒です。

  • クエリ述語として null が使用されている場合、MongoDB は undefined 値と一致しません。

  • index filter は推奨されません。

  • 時系列コレクションのシャードキーとして timeField は推奨されません。

  • cleanupOrphaned コマンドは推奨されません。

  • 複数のコレクションで compact コマンドを同時に実行することはできません。

  • MongoDB 8.0 にアップグレードする前に、時系列ではない system.buckets コレクションの名前を変更または削除します。

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

MongoDB 7.0

  • インスタンスのメジャーバージョンを MongoDB 7.0 にアップグレードする場合、互換性の問題は発生しません。

  • MongoDB 7.0 から以前のメジャーバージョンにインスタンスをダウングレードする場合は、MongoDB 7.0 でサポートされている機能 (以下の項目など) を削除する必要があります。

    • すべての columnar indexes を削除します。

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

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

    • すべての compound wildcard indexes を削除します。

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

MongoDB 6.0

  • 集約パイプラインに含まれるデータのサイズが 100 MB を超える場合、デフォルトではデータは一時ディスクストレージに書き込まれます。このデフォルト設定を変更するには、allowDiskUseByDefault パラメータを false に設定します。

    MongoDB 6.0 より前のバージョンを使用している場合は、{ allowDiskUse: true } 構文を使用して、データを一時ディスクストレージに書き込むことを許可する必要があります。

  • dropIndexes コマンドで * を指定すると、_id インデックスと最後に残っているシャードキーインデックスを除くすべてのインデックスを削除できます。詳細については、「dropIndexes」をご参照ください。

  • mongo シェルは非推奨です。代わりに mongosh を使用してください。

  • $explain$hint$max$maxTimeMS などの演算子は非推奨です。

  • Time to Live (TTL) インデックスの expireAfterSeconds パラメータが NaN (または 0) に設定されている場合、期限切れのドキュメントはすぐに削除される可能性があります。

  • SCRAM-SHA-1 メカニズムは非推奨です。

  • reIndex コマンドと対応する reIndex() メソッドは非推奨です。

詳細については、「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 コマンドのパラメータは厳密に検証され、Go (mgo) 用の MongoDB ドライバーではサポートされていません。 saslContinue コマンドには conversationId パラメータと payload パラメータのみが含まれていますが、mgo には追加の mechanism パラメータがあります。詳細については、mgo にアクセスしてください。

  • geoSearch コマンドは非推奨です。

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

MongoDB 4.4

  • force オプションは compact コマンドから非推奨になりました。詳細については、「compact」をご参照ください。

  • geoSearch コマンドは非推奨です。詳細については、「geoSearch」をご参照ください。

  • プライマリデータベースとセカンダリデータベースの両方でインデックスを作成して、インデックス作成によるレイテンシを削減できます。これにより、インデックスの作成中に、セカンダリデータベースは引き続き最新のデータにアクセスできます。

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

MongoDB 4.2

  • geoNear コマンドは非推奨です。代わりに $geoNear (aggregation) コマンドを使用してください。詳細については、「$geoNear」をご参照ください。

  • repairDatabase コマンドは非推奨です。

  • cloneCollection コマンドは非推奨です。代わりに mongoexport ツールと mongoimport ツールを使用してください。詳細については、「mongoexport」および「mongoimport」をご参照ください。

  • afterClusterTime read concern オプションは非推奨になりました。詳細については、「Read Operations and afterClusterTime」をご参照ください。

  • MongoDB 4.2 以降と互換性のあるドライバーでは、デフォルトでリトライ可能な書き込みが有効になっています。詳細については、「リトライ可能な書き込み」をご参照ください。

  • groupcopydb、および clone コマンドは非推奨です。

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

MongoDB 4.0

  • reIndex コマンドは、グローバル排他 (W) ロックを取得し、インデックスが再構築されるまで他の操作をブロックします。詳細については、「reIndex」をご参照ください。

  • copydb コマンドと clone コマンドは非推奨になりました。

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

MongoDB 3.6

  • aggregate コマンドで cursor オプションを指定せずに単一のドキュメントを返す方法は非推奨になりました。explain オプションを含めない限り、cursor オプションを指定する必要があります。cursor オプションを使用して、batch サイズを指定できます。 aggregate コマンドの詳細については、「aggregate」をご参照ください。

  • MongoDB 3.6 以降のバージョンでは、$type: "array" のクエリは、フィールド自体が配列であるドキュメントを返します。MongoDB 3.6 より前のバージョンでは、$type: "array" のクエリは、フィールド自体が配列型の要素を少なくとも 1 つ含む配列であるドキュメントを返します。$type の詳細については、「$type」をご参照ください。

  • 配列の順序付けに関する以下の変更が追加されました。

    • オプションの sort オプションが find コマンドに追加され、結果の順序付けが可能になりました。find コマンドの詳細については、「find」をご参照ください。

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

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

  • snapshot クエリオプションは非推奨になりました。

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

MongoDB 3.4

  • group コマンドは非推奨です。db.collection.aggregate() メソッドまたは db.collection.mapReduce() メソッドを代わりに使用してください。詳細については、「db.collection.aggregate(pipeline, options)」および「db.collection.mapReduce(map,reduce, { <options> })」をご参照ください。

  • $in 式は、upsert オプションが true に設定されている場合に、一致するドキュメントが存在するかどうか、および対応する update 操作を決定するために使用されます。

    例:

    db.c.drop()
    db.c.update({a:{$in:[1]}},{$addToSet:{a:2}},{upsert:true}) //MongoDB 3.4 を実行しているデータベースにはデータレコードを挿入できませんが、MongoDB 3.4 より前のメジャーバージョンを実行しているデータベースには挿入できます。
    db.c.update({a:{$elemMatch:{$in:[2] }},{$ addToSet:{a:2 },{ upsert:true}) // MongoDB 3.4 を実行しているデータベースにはデータレコードを挿入できます。

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

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

関連 API 操作

操作

説明

UpgradeDBInstanceEngineVersion

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