MongoDB 7.0 での互換性の変更
項目一覧
このページでは、MongoDB 7.0 で導入された、古いバージョンの MongoDB との互換性に影響を与える可能性のある変更について説明します。
MongoDB 7.0 はメジャー リリースであるため、MongoDB Atlas とオンプレミスの配置の両方でサポートされます。 MongoDB 7.0 には、MongoDB Rapid Release 6.1、6.2、および 6.3 で導入された変更が含まれています。 このページでは、これらの Rapid Release と MongoDB 7.0 で導入された互換性の変更について説明します。
メジャー リリースと Rapid Release の違いの詳細については、「 MongoDB のバージョン管理 」を参照してください。
MongoDB 7.0 からのダウングレードの詳細については、「 7.0 から 6.0 へのダウングレード 」を参照してください。
非推奨
非推奨 | 説明 |
---|---|
storageDetails | バージョン 7.0 で非推奨になりました。 |
無料モニタリングの廃止
MongoDB 7.0 以降、無料モニタリングは廃止予定です。 次の場合は使用できません。
cloud.monitoring.free
構成オプション--enableFreeMonitoring
server parameterdb.enableFreeMonitoring()
コマンドdb.disableFreeMonitoring()
コマンドsetFreeMonitoring
コマンド
Queryable Encryption の一般的なアベイラビリティー
MongoDB 7.0 以降、等価クエリを使用した Queryable Encryption が一般提供(GA)されます。GA 版での改善により、Queryable Encryption はパブリック プレビュー版との互換性がなくなっています。Queryable Encryption は現在 GA 版が提供されているため、パブリックプレビュー版は使用しないでください。
パブリック プレビューと GA の間のサーバーとドライバーの互換性
等価クエリで Queryable Encryption を使用するには、MongoDB サーバーはバージョン 7.0 以降で、ドライバーは 7.0 と互換性がある必要があります。 MongoDB 6.x に含まれる Queryable Encryption Public Preview を引き続き使用する場合は、サーバーはバージョン 6.x のままである必要があり、ドライバーは 6.x と互換性がある必要があります。 7.0 サーバーでは MongoDB 6.x 互換ドライバー、または 6.x サーバーでは 7.0 互換ドライバーは使用できません。 そのような操作を試みるとエラーが発生します。
アップグレードを容易にするために、MongoDB 7.0 ドライバーは MongoDB 6.x ドライバーで作成されたデータを復号化できます。 アップグレード オプションについては、次のセクションを参照してください。
新しい開始(推奨)
可能であれば、MongoDB 6.x の Queryable Encryption Public Preview で生成されたコレクションを移行するのではなく、新しいコレクションを作成します。
MongoDB サーバーとドライバーを 7.0 にアップグレードします。
前のコレクションとは異なる名前で新しい暗号化されたコレクションを設定します。
新しいデータを挿入するか、ローカル コピーがある場合は既存のデータの暗号化されていないバージョンを挿入します。
以前のバージョン 6.x コレクションを削除します。
移行
新しいデータを使用できない場合、または既存のデータの暗号化されていないバージョンがない場合。
MongoDB サーバーとドライバーを 7.0 にアップグレード
7.0 互換ドライバーを使用して、暗号化されたコレクションをクエリして復号化します。
出力をローカルに保存します。
新しい暗号化されたコレクションを構成し、データを取り込みます。
警告
mongoexport
およびmongodump
操作ではコレクションは復号化されません。 復号化されたデータを出力するには、ドライバーからコレクションをクエリする必要があります。MongoDB 7.0 互換ドライバーは、MongoDB 6.x 互換ドライバーで暗号化されたデータの暗号化されたフィールドをクエリできません。 データを復号化するには、暗号化されていないフィールドをクエリするか、コレクション全体をクエリします。
下位互換性のない機能
次の 7.0 の機能は、MongoDB の以前のバージョンと互換性がありません。 MongoDB 7.0 から以前のバージョンにダウングレードするには、次の機能のいずれかを使用するデータを削除する必要があります。
範囲インデックスを持つ
encryptedFields
によるコレクション複合ワイルドカード インデックスには fCV 7.0 以上が必要です。 1 つ以上の複合ワイルドカード インデックスを使用している場合、7.0 より前の
mongod
は起動しません。changeStreamPreAndPostImages
が有効になっているコレクションを持つコンフィギュレーションサーバー時系列コレクション の 部分フィルター を持つセカンダリ TTL インデックス
カスタム バケット パラメーターを持つ時系列コレクション
ノード内認証
MongoDB 7.0 以降では、属性または拡張値によって識別されるクラスター ノードとして X.509 証明書を認証するようにサーバーを構成できます。 この構成を上書きして、ローリング アップグレード中に代替の証明書を受け入れることもできます。
MongoDB 6.0 にダウングレードするには、証明書ローテーション手順を実行してnet.tls.clusterAuthX509
設定を解除し、クラスター メンバーシップ証明書をDC、O、OU 属性が一致するものにローテーションします。
これが完了したら、クラスターをダウングレードできます。
時系列
時系列コレクションから部分的な TTL インデックスを排除します。
新しいインデックス パラメーターを使用してコレクションを削除または変更します。 場合によっては、ダウングレードする前にコレクションを削除する必要がない場合は、
collMod
を使用してレガシー粒度設定に切り替えることができます。
クラスター構成
アクティブなsetClusterParameter
パラメータ操作により、機能の互換性バージョン(fCV)が正常に完了するのを妨げます。
暗号化マルチマップ(EMM)
ダウングレードする前に、 encryptedFields
コレクション オプションを使用するコレクションを削除してください。
ワイルドカード インデックス
複合ワイルドカード インデックスには fCV 7.0 以上が必要です。 1 つ以上の複合ワイルドカード インデックスを使用している場合、7.0 より前のmongod
は起動しません。
OIDC アクセス トークン認証の動作
MongoDB 7.0以降、 OIDC アクセス トークンには、 audience
oidcIdentityProviders フィールドのみを指定できます。 空の配列または複数の文字列の配列を持つaudience
フィールドは無効です。
詳細については、「 oidcIdentityProviders フィールド 」を参照してください。