Docs Menu
Docs Home
/
MongoDBマニュアル
/

MongoDB 7.0(安定版リリース)のリリースノート

項目一覧

  • パッチ リリース
  • Atlas Search インデックス マネジメント
  • 一般的な変更点
  • セキュリティ
  • 集計
  • 時系列
  • シャーディング
  • 6.X シリーズの Rapid Release で導入された変更
  • プラットフォーム サポート
  • アップグレード手順
  • ダウングレードの考慮事項
  • ダウンロード
  • 問題を報告する

このページでは、MongoDB 7.0 で導入された変更点と新機能について説明します。

MongoDB 7.0 メジャー リリースであるため、MongoDB Atlas とオンプレミスの配置の両方でサポートされます。MongoDB 7.0 にはMongoDB Rapid Releases 6.1, 6.2, と 6.3. で導入された変更が含まれています。これらの Rapid Release で導入された変更を確認するには、「 6.X シリーズの Rapid Release で導入された変更」を参照してください。

メジャー リリースと Rapid Release の違いの詳細については、「 MongoDB のバージョン管理 」を参照してください。

警告

過去のリリース制限

以下の 重要な助言 は、一部の MongoDB の前のバージョンに影響します。 配置が重要な助言によって影響を受ける機能に依存している場合は、利用可能な最新のパッチ リリースにアップグレードしてください。

問題
影響を受けるバージョン
7.0.0 - 7.0.2
7.0.0 - 7.0.2 (metaField 埋め込みオブジェクトによってシャーディングされた時系列コレクション)
7.0.0 - 7.0.5
7.0.0 - 7.0.6
7.0.0 - 7.0.6

修正された問題:

修正された問題:

  • SERVER-82814 クラスター化されたコレクションのスキャン限界の決定時に内部expr 比較演算子をサポートするようになりました

  • SERVER-85892 $documents がエラーを返した後のパイプラインとの $merge

  • SERVER-91195 最上位の時系列コレクション オプションを欠落しないように汎用的なバックポート可能なソリューションを提供

  • SERVER-91625 $$NOW、$$CLUSTER_TIME、$$USER_ROLES を使用した式のインデックス付きプランの有効化

  • WT-12643 すべてのページをエビクションできるように、エビクション サーバーのウォークスルー ロジックを修正します。

  • すべての Jira の課題は 7.0.14 で終了しました

  • 7.0.14 変更履歴

重要

CSFLE および Queryable Encryption の自己検索により、サブパイプラインに不正な値が送信される可能性があります

7.0.12より前の MongoDB 7.0 700} では、特定の複雑な自己参照 $lookupサブパイプラインのクエリ分析のバグにより、暗号化されたフィールドの式のリテラル値が不正な形式でサーバーに送信される可能性があります。

このような状況が発生した場合、ドキュメントは返されたり書込まれたりすることはありません。 この問題は、次の MongoDB Server バージョンのmongocryptdバイナリとmongo_crypt_v1共有ライブラリに影響します。

  • 7.3.0 - 7.3.3

  • 7.0.0 - 7.0.11

  • 6.0.0 - 6.0.16

  • 5.0.0 - 5.0.28

修正された問題:

  • SERVER-64574 MozJS/Spidermonkey を最新の ESR にアップグレードします

  • SERVER-86674 プライマリのキャッチアップでは、サーバーが追いついたと認識する可能性があります。

  • SERVER-90485 $sort は includeArrayIndex と組み合わせて使用すると期待どおりに動作しません

  • SERVER-91362 パフォーマンス:JavaScript キャッシュされた JsExecution が存在する場合、 の「スコープ」オブジェクトをコピーしないでください

  • WT-12736 準備された更新でページを再インスタンス化した後、ページをクリーンとしてマークします

  • すべての Jira の課題は 7.0.12 で終了しました

  • 7.0.12 変更履歴

修正された問題:

修正された問題:

修正された問題:

  • SERVER-78556 internalInsertMaxBatchSize のデフォルトを 64 に戻します

  • SERVER- NU79575 ノードのカウントの修正

  • SERVER-86583 シャーディングされていないコレクションでの非トランザクション スナップショットの読み取りは、シャーディング メタデータが一致しない状態で実行される可能性があります

  • SERVER-87666 $documents のクエリ形状は実行ごとに異なります

  • SERVER-88360 「シャーディング カタログとローカル カタログ コレクションの UUID が一致しません」というトリップワイヤ アサーションを削除します

  • すべての Jira の課題は 7.0.8 で終了しました

  • 7.0.8 変更履歴

修正された問題:

  • サーバー -84368: 古い mongos からシャーディングされた空でないコレクションに対して CreateIndex が実行されると、StaleConfig エラーが発生します

  • SERVER-84628 mongos の起動時に読み取り/書き込みに関する警告が表示されます

  • SERVER-85459 [v7.0] bucketRoundingSeconds パラメーターは fCV 6.0、バイナリー 7.0 のノードによって受け入れられます

  • SERVER-85869 構成シャードを徹底的に検索すると古いデータが返される可能性があります

  • SERVER-87061 シャーディングされたマルチドキュメントトランザクションでは、同時再シャード操作の部分的な影響を観察できます

  • すべての Jira の課題は 7.0.7 で終了しました

  • 7.0.7 変更履歴

重要

MongoDB Server が信頼できない接続が成功する可能性があることに対する修正

CVE- 2024 - 1351により、 7.0.6以前の MongoDB 7.0では、 --tlsCAFileおよびCAFileの特定の構成において、MongoDB Server がピア証明書の検証をスキップし、信頼できない接続が成功する可能性があります。

これにより、TLS によって提供されるセキュリティ保証と、証明書の検証のために閉じられる必要があるオープン接続を実質的に削減する可能性があります。 この問題は、次の MongoDB Server バージョンに影響します。

  • 7.0.0 - 7.0.5

  • 6.0.0 - 6.0.13

  • 5.0.0 - 5.0.24

  • 4.4.0 - 4.4.28

CVSS スコア: 8.8

CWE: CWE-295: 不適切な認定検証

修正された問題:

  • SERVER-72703 $out の DB ロックを MODE_IX にダウングレード

  • SERVER-82353 movePrimary が同時に実行されると、マルチドキュメントトランザクションでドキュメントが失われる可能性あり

  • SERVER-84338 トップレベルの $or クエリは無効な SBE プラン キャッシュ エントリーにつながり、間違った結果を返す可能性があります

  • SERVER-84723 シャーディングされたマルチドキュメントトランザクションは、同時 DDL 操作の部分的な影響を観察できます

  • WT-11062 同時アクセスを可能にするために参照アドレスを安全に解放

  • 7.0.6 の Jira 課題 はすべて終了しました。

  • 7.0.6 変更履歴

修正された問題:

修正された問題:

修正された問題:

  • SERVER-77506 シャーディングされたマルチドキュメントトランザクションでは、データと ShardVersion が一致しない可能性があります。

  • SERVER-79088 結果がゼロになるクエリの SBE マルチプランナーのパフォーマンスを向上させます

  • SERVER-81106 受信者シャードは、クローンフェーズを開始する前にコレクション バージョンがローカルに保存されるのを待たない

  • SERVER-81966 更新中に以前のチャンクマップ インスタンスの変更を避ける

  • WT-11564 チェックポイントに存在する場合にのみ最新のトランザクション値を読み取るように RTS を修正

  • すべての JIRA 課題は 7.0.3 で終了しました

  • 7.0.3 変更履歴

修正された問題:

  • SERVER-74954 $ が含まれている場合、または $elemMatch の追加条件を書き換えた場合、結果が不正確になる

  • SERVER-79771 networkInterfaceExceededTimeLimit に対してリシャーディング操作を回復性のあるものにする

  • サーバー -79912: 無効な BSON が原因で CheckReplDBHash により system.buckets コレクションの失敗が報告されます。

  • SERVER-79982 バッチカタログライターは、HistoricalCatalogIdTracker::cleanup() と同時に実行され、PIT 検索結果が不正確になる可能性があります

  • SERVER-80488 バランサーの分裂チャンク ポリシーでルーティング テーブルのトラバースを避けました

  • すべての JIRA 課題は 7.0.2 で終了しました

  • 7.0.2 変更履歴

修正された問題:

  • SERVER-71627 キャッシュされたコレクションルート情報を更新すると、100万チャンクのクラスターに対するすべてのクライアント要求が大幅にブロックされます

  • SERVER-77183 $project の後に $group を続けると、誤った結果が返されることがあります

  • SERVER-80256 QueryPlannerAnalysis::explodeForSort では、インデックススキャンが不連続な結果を生成することが想定されません

  • すべての JIRA 課題は 7.0.1 で終了しました

  • 7.0.1 変更履歴

このページの残りの部分では、MongoDB 7.0 で導入された変更点と新機能について説明します。

MongoDB 7.0 以降では、 mongosh メソッドとデータベース コマンドを使用して Atlas Search インデックスを管理できます。Atlas Search インデックス コマンドは、 MongoDB Atlas でホストされている配置でのみ使用でき、少なくとも M 10 の Atlas クラスター階層が必要です。

Atlas Search インデックスを管理するには、次のコマンドを使用します。

名前
説明

指定されたコレクションに Atlas Search インデックスを作成します。

既存の Atlas Search インデックスを削除します。

指定されたコレクションの既存の Atlas Search インデックスに関する情報を返します。

既存の Atlas Search インデックスをアップデートします。

名前
説明

指定されたコレクションに 1 つ以上の Atlas Search インデックスを作成します。

既存の Atlas Search インデックスを削除します。

既存の Atlas Search インデックスをアップデートします。

名前
説明
すべてのコレクションまたは特定のコレクションのサンプル クエリを一覧表示します。

指定されたコレクションの既存の Atlas Search インデックスに関する情報を返します。

MongoDB 7.0以降、 OIDC アクセス トークンには、 audience oidcIdentityProviders フィールドのみを指定できます。 空の配列または複数の文字列の配列を持つaudienceフィールドは無効です。

詳細については、「 oidcIdentityProviders フィールド 」を参照してください。

MongoDB 7.0.3 以降(そして 6.0.12 と 5.0.22)、ハッシュされたシャードキーのインデックスを削除できます。

これにより、ハッシュされたシャードキーでシャーディングされたコレクションのデータ挿入を高速化できます。mongosync を使用すると、データの取り込みを高速化することもできます。

詳細については、「ハッシュシャードキー インデックスの削除」を参照してください。

MongoDB 7.0 以降のビューでは、低速クエリのログ メッセージに新しいキャッシュ更新時間フィールドが含まれるようになりました。

バージョン 7.0 以降、MongoDB は、過負荷時のデータベース スループットを最適化するために、デフォルトのアルゴリズムを使用して、ストレージ エンジンの同時トランザクションの最大数 (読み取りチケットと書き込みチケットの両方)を動的に調整します。

次の表は、MongoDB 7.0 およびそれ以前のリリースの過負荷シナリオの特定方法をまとめたものです。

バージョン
過負荷シナリオの診断
7.0

多数の操作が長時間にわたってキューに入れられたままの場合、過負荷が発生している高い可能性があります。

storage engine のトランザクションの同時実行(チケット)の可用性が長期間にわたって 0 であっても、過負荷を示すものではありません

6.0 およびそれ以前

多数の操作が長時間にわたってキューに入れられたままの場合、過負荷が発生している高い可能性があります。

storage engine のトランザクションの同時実行(チケット)の可用性が長期間にわたって 0 の場合、過負荷を示している高い可能性があります。

詳しくは以下を参照してください。

MongoDB 7.0 以降では、 currentOp コマンドと db.currentOp() メソッドに次の新しいフィールドが含まれます。

MongoDB 7.0 以降では、 currentOp 集計ステージに次の新しいフィールドが含まれます。

MongoDB 7.0 以降では、複合ワイルドカード インデックスを作成できます。複合ワイルドカード インデックスには、1 つのワイルドカードタームと 1 つ以上の追加のインデックスタームがあります。

複合ワイルドカードを使用すると、既知のパターンでのクエリをサポートし、コレクション内のインデックスの総数を制限できます。

MongoDB 7.0 以降では、変更ストリーム イベントが 16 MB を超える場合、新しい $changeStreamSplitLargeEvent ステージを使用してイベントを小さなフラグメントに分裂できます。

以下の新しい指標では、大規模な変更ストリーム イベントに関する情報が報告されます。

serverStatus には、出力に次の新しいフィールドが含まれます。

プラン キャッシュ メトリクス
queryAnalyzer メトリクス

MongoDB 7.0 以降では、スロットベースのクエリ実行エンジンにより、より広範囲の検索および集計クエリのパフォーマンスが向上します。

低速クエリ ログ メッセージに、クエリを完了したクエリ エンジンを示す queryFramework フィールドが含まれるようになりました。

  • queryFramework: "classic" クラシック エンジンでクエリが完了したことを示します。

  • queryFramework: "sbe" スロット ベースのクエリ実行エンジンでクエリが完了したことを示します。

MongoDB 7.0 以降では、新しい USER_ROLES システム変数を使用して、現在のユーザーの ロール を返すことができます。

USER_ROLESを含むユースケースについては、 findaggregationviewupdateOneupdateMany 、およびfindAndModify の例を参照してください。

MongoDB 7.1(および 7.0、6.3.2、6.0.6、5.0.18)以降で利用できます。

MongoDB には、チャンク移行に関する次の新しいシャーディング統計が含まれています。

MongoDB 7.0 (および6.0.13以降) 以降では、 5.0.24 )、低速クエリ ログ メッセージのtotalOplogSlotDurationMicrosは、書込み操作が storage engine の書込み (write) をコミットするためのコミット タイムスタンプを取得してから実際にコミットするまでの時間を示しています。 mongodは並列書込みをサポートします。 ただし、書込み (write) 操作はコミット タイムスタンプとともに任意の順序でコミットされます。

詳しくは、「低速操作のログ」を参照してください。

MongoDB 7.0 では、 analyzeShardKey コマンドに関連する次のパラメーターが追加されました。

MongoDB 7.0 では、AutoMerger が有効な場合に、自動マージのラウンド間の時間を秒単位で指定する autoMergerIntervalSecs パラメーターが追加されました。autoMergerIntervalSecs は、シャーディングされたクラスターのコンフィギュレーションサーバー上でのみ設定できます。

MongoDB 7.0 では、AutoMerger が有効な場合に、同じコレクションで AutoMerger によって開始されるマージ間の最小時間をミリ秒単位で指定する autoMergerThrottlingMS が追加されました。autoMergerThrottlingMS は、シャーディングされたクラスターのコンフィギュレーションサーバー上でのみ設定できます。

MongoDB 7.0 では、バランス調整レートを調整できる balancerMigrationsThrottlingMs パラメーターが追加されました。

MongoDB 7.0 では、クラスター接続の健全性メトリクスに関連する一連のログ メッセージ をログに表示するかどうかを指定できる enableDetailedConnectionHealthMetricLogLines パラメーターが追加されました。

MongoDB 7.0 では、 OpenIDoidcIdentityProviders Connect 認証を使用するときに ID プロバイダー(IDP)構成を指定できるパラメーターが追加されました。

MongoDB 7.0 では、 configureQueryAnalysis コマンドに関連する次のパラメーターが追加されました。

MongoDB 7.0 以降、等価クエリを使用した Queryable Encryption が一般提供(GA)されます。GA 版での改善により、Queryable Encryption はパブリック プレビュー版との互換性がなくなっています。Queryable Encryption は現在 GA 版が提供されているため、パブリックプレビュー版は使用しないでください。詳しくは、「MongoDB 7.0 での互換性の変更」を参照してください。

MongoDB 7.0(および 6.0.6)useLegacyProtocol 設定を追加します。この設定により、MongoDB サーバーは KMIP プロトコル バージョン 1.0 または 1.1 を使用する KMIP サーバーに接続できます。

MongoDB 7.0 および 6.0.7 以降では、MongoDB は、次のオペレーティング システムで OpenSSL 3.0 および OpenSSL FIPS プロバイダーをサポートしています。

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

詳しくは、「TLS/SSL(トランスポート暗号化)」を参照してください。

7.0 以降、MongoDB Enterprise は OpenID Connect 認証をサポートします。OpenID Connect は、OAuth2 上に構築された認証レイヤーです。OpenID Connect を使用して、MongoDB databaseとサード パーティーの IdP との間のシングル サインオンを構成できます。

新しい演算子:

名前
説明

中央値、つまり 50 パーセンタイルの近似値がスカラー値として返されます。

この演算子は、アキュムレータとしても、集計式としても使用できます。

指定パーセンタイル値に対応するスカラー値の配列を返します。

この演算子は、アキュムレータとしても、集計式としても使用できます。

MongoDB 7.0 では、 $dateToString 演算子で使用する次の形式指定子が追加されました。

指定子
説明
Possible Values
%b
省略表記の月(3 文字)
jan-dec
%B
正式な月名
january-december

MongoDB 7.0 では、コマンドに基づくこれらの操作から delete 時系列の制限のほとんどが削除されました。

MongoDB 7.0 以降では、 checkMetadataConsistencyコマンドを使用して、クラスター、データベース、コレクション レベルでシャーディング メタデータの不整合をチェックできます。このような矛盾は、次のようなケースに起因します。

  • MongoDB の以前のリリースを実行中にクラスターでバグが発生した場合のアップグレード

  • クラスター カタログを破損する手動介入

mongosh を通じて次のヘルパー メソッドが利用できるようになりました。

コマンドによってチェックされる不整合について詳しくは、「不整合のタイプ」を参照してください。

MongoDB 7.0 以降では、 mergeAllChunksOnShard コマンドは、特定のコレクションに対してシャーディングが所有するすべてのマージ可能なチャンクを検索してマージします。

MongoDB 7.0 以降では、 AutoMerger はマージ可能性の要件を満たすチャンクを自動的にマージできます。AutoMerger はデフォルトで有効になっています。

MongoDB 7.0 以降では、次のメソッドを使用して AutoMerger の動作を制御できます。

MongoDB 7.0 以降では、 configureCollectionBalancing コマンドは enableAutoMergerパラメーターを受け入れます。enableAutoMergerを使用して、AutoMerger がこのコレクションを考慮するかどうかを設定します。

MongoDB 7.0 以降では、パラメーターを使用して、 孤立したドキュメント rangeDeleterHighPriority のクリーンアップをユーザー操作よりも優先したり、優先順位を下げたりすることができます。

MongoDB 7.0 では、カタログ更新アクティビティによってブロックされた操作が、カタログ更新アクティビティによってブロックされなかった場合でも、コレクション ルーティング情報を使用するすべての操作の mongosoperationsBlockedByRefresh カウンターが増加したため、カタログ キャッシュ更新アクティビティによってブロックされた操作に関する統計を含むoperationsBlockedByRefreshドキュメントが削除されます。

MongoDB 7.0 では、シャーディング キーを評価するためのメトリクスを計算できる analyzeShardKey コマンドと db.collection.analyzeShardKey() メソッドが追加されました。

MongoDB 7.0 では、コレクションのクエリ サンプリングを構成できる configureQueryAnalyzer コマンドが追加されました。MongoDB 7.0 では、 configureQueryAnalyzer コマンドをラップする db.collection.configureQueryAnalyzer() も追加されています。サンプル クエリは analyzeShardKey に情報を提供し、シャーディング キーの読み取りと書き込みの分布に関するメトリクスを計算します。

MongoDB 7.0 には、以下の Rapid Release バージョンからの変更点と機能が含まれています。

MongoDB 7.0 では、 PPC64LE および s390x アーキテクチャ上の RHEL 7 / CentOS 7 / Oracle 7 のサポートが削除されます。

重要

機能の互換性バージョン

MongoDB 6.0 配置から MongoDB 7.0 にアップグレードするには、6.0 配置で featureCompatibilityVersion6.0 に設定する必要があります。バージョンの確認方法

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

MongoDB 7.0 にアップグレードするには、MongoDB 配置に固有のアップグレード手順を参照してください。

7.0 へのアップグレードに関するガイダンスが必要な場合は、MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。詳細については、MongoDB コンサルティングを参照してください。

MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。

たとえば、7.0 シリーズの配置を 6.0 シリーズにダウングレードできます。ただし、6.0 シリーズの配置から 5.0 シリーズへのさらなるダウングレードはサポートされていません。

MongoDB 7.0 以降:

  • MongoDB コミュニティ エディション ではバイナリー ダウングレードはサポートされなくなりました。

  • デプロイの fCV を MongoDB の Rapid Release バージョンにダウングレードしたり、Rapid Release バージョンから任意のバージョンにダウングレードしたりすることはできません。

  • setFeatureCompatibilityVersion コマンドには追加のパラメーター confirm が必要です。fCVアップグレードまたはダウングレードするには、このパラメーターを true に設定する必要があります。

  • 配置の FCv をアップグレードまたはダウングレードする場合、サポートを受けずにエンタープライズ配置のバイナリー バージョンをダウングレードすることはできません。

MongoDB 7.0 には、以前のリリースと互換性のない機能が含まれています。7.0 から以前のリリースにダウングレードするには、これらの機能を使用するデータを削除する必要があります。

詳しくは、「下位互換性のない機能」を参照してください。

MongoDB 7. 0 をダウンロードするには、MongoDB ダウンロードセンターにアクセスします。

問題を報告するには、MongoDB GitHub リポジトリで、MongoDB サーバーまたは関連プロジェクトのいずれかに対して JIRA チケットを提出する手順を参照してください。

戻る

変更履歴