重要
MongoDB 8.3 は最新のマイナー リリースです。MongoDB 8.2 以降では、特定のユースケースに合わせてオンプレミス配置(Community と EA)でマイナー リリースを利用できます。詳細については、 MongoDB のバージョン管理 を参照してください。
オンプレミスでサポートされている最新のMongoDBバージョンをインストールするには、インストール手順を参照してください。
このページでは、 MongoDB 8.3 で導入された、古いバージョンのMongoDBとの互換性に影響を与える可能性のある変更について説明します。
Indexes
より厳格なワイルドカード インデックスの検証
MongoDB 8.3(および 8.2.4 以降)以降では、8.0.18,7.0.29)、複合ワイルドカード インデックスの wildcardProjection 仕様には、より厳格な検証ルールが適用されます。新しい検証要件を満たさない既存のインデックスは引き続き機能しますが、これらの要件を満たさない新しいインデックスを作成することはできません。
検証ルールの完全な詳細については、ワイルドカード インデックスの制限 を参照してください。
一般的な変更点
$map、$filter、$reduce での配列要素インデックスへのアクセス
MongoDB 8.3 では、$map、$filter、および$reduce 集計式の配列要素インデックスへのアクセスが改善されます。新しい arrayIndexAsフィールドを使用して、配列要素のインデックスを保存するための変数を設定できます。また、arrayIndexAs を省略した場合は、新しい $$IDX 集計システム変数を使用して現在の配列要素のインデックスにアクセスできます。
新しい配列要素インデックス機能を使用するビューまたはコレクション検証ルールを作成する場合は、 MongoDB 8.3 から以前のバージョンにダウングレードする前に、ビューまたはルールをアップデートまたは削除する必要があります。
2dsphereIndexVersion
MongoDB 8.3 以降、2dsphereIndexVersion はデフォルトでバージョン 4 に設定されています。
機能の互換性バージョン を 8.3 未満にダウングレードする必要がある場合は、まず 2dsphere バージョン 4 インデックスを削除する必要があります。
下位互換性のない機能
次のセクションでは、配置から下位互換性のない機能を削除するための情報を提供します。MongoDB 8.3 から以前のバージョンにダウングレードする場合は、以下のセクションを確認して、ダウングレード後に配置が正常に実行されることを確認してください。
ビューにおける式
MongoDB 8.3 で導入された式を使用するビューを作成した場合、それらの式をサポートしていないバージョンにダウングレードすると、それらのビューが機能しなくなる可能性があります。
8.3 からダウングレードする必要がある場合は、まずターゲット バージョンでサポートされていない式に依存するビューを更新または削除する必要があります。
ビューとバリデーターのパラメーターと変数
MongoDB 8.3 で導入されたパラメータや変数を使用するビューやコレクション検証を作成した場合、ダウングレード後にそれらのオブジェクトは検証または評価に失敗する可能性があります。
8.3 からダウングレードする必要がある場合は、まずターゲット バージョンでサポートされていないパラメータや変数を参照ビューやバリデーターを更新または除く必要があります。
検証済みコレクション
MongoDB 8.3 は、8.3 より前のバージョンと互換性のない新しい検証セマンティクスを使用して、コレクションを検証済みとしてマークできます。検証済みコレクションが存在しているときにダウングレードを試みると、ダウングレードは失敗します。
8.3 からダウングレードする必要がある場合は、まず検証済みコレクションをターゲット バージョンでサポートされている検証レベルに変更するか、それらのコレクションを削除する必要があります。
$ ファセットメモリ制限エラーコード
MongoDB 8.3 以降、$facet ステージで 100 メガバイトの制限を超えるdocumentが構築されると、 MongoDB はExceededMemoryLimit エラーを返します。
以前のバージョンでは、メモリ制限を超えるステージはエラー コード 4031700 を返します。4031700を明示的にチェックするアプリケーション、ドライバー、またはツールがある場合は、代わりにExceededMemoryLimitを認識するようにコードを調整できます。
$convert パイプラインの非正規数
MongoDB 8.3 以降、サーバーは表現可能なすべての倍精度浮動点数の全範囲を解析できます。これには、非正規数で最上位桁の先頭にゼロがあり、指数の値が最小であるものが含まれます。MongoDBの以前のバージョンでは、これらの数値を解析しようとすると、サーバーはエラーを返します。
詳細については、「 非正規数 」を参照してください。
バランサー ウィンドウ設定
MongoDB 8.3 から以前のバージョンにダウングレードする場合、activeBalancerWindowDOW 構成は使用できません。ダウングレードでは、バランサーはデフォルトで activeWindow 設定を使用します。
手動のダウングレード手順は必要ありませんが、8.3 で行われたカスタム曜日(DOW)構成はダウングレード後は適用されません。