Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

MongoDB 8.0 のリリースノート

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

警告

MongoDB 8.0カーネル 6.19 と互換性なし

新しいカーネル リリースと TCMalloc の現在販売バージョンは互換性がないため、 MongoDB 8.0 以降をLinuxカーネル バージョン 6.19 で実行中と、 MongoDB がスタートアップ時にクラッシュする可能性があります。これは、 MongoDBのウェブサイトから取得したパッケージ、またはパッケージマネージャー またはDockerから取得した MongoDB パッケージを含む、すべてのMongoDBパッケージに適用されます。

TCMalloc のパッチ バージョンが利用可能になるとすぐに、 MongoDB はそれを使用するようにアップグレードされ、この互換性の問題は解決されます。

MongoDB 8.0はメジャー リリースであるため、 MongoDB Atlasとオンプレミスの配置の両方でサポートされます。 MongoDB 8.0にはMongoDB Rapid Releases 7.1 、 7.2 、 7.3で導入された変更が含まれています。 このページでは、これらの Rapid Release とMongoDB 8で導入された変更について説明します。 0 。

MongoDB Atlas は、Latest Release (auto-upgrades) オプションが有効になっている場合、専有クラスター(M10+)のメジャー バージョンへの自動アップグレードを実行します。MongoDB Atlasを手動でアップグレードする場合は、クラスターを新しいMongoDBバージョンにアップグレードするを参照してください。Atlas のMongoDBクラスターのバージョンについて詳しくは、Atlas クラスターが使用するMongoDBのバージョンを参照してください。

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

警告

過去のリリース制限

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

問題
影響を受けるバージョン

8.0.0 - 8.0.3

8.0.0 - 8.0.3

修正された問題:

  • SERVER-127984 はコンパイル時フィールド一致で isMetadataFieldName を高速化します

  • 8.0.25 変更履歴

重要

MongoDB 8.0.24には次の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

重要

MongoDB 8.0.23には次の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

重要

MongoDB 8.0.21には次の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

重要

MongoDB 8.0.20には次の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

  • SERVER-105047: シャーディングされたコレクションで $or$ne を使用するクエリには、孤立したドキュメントを含めることができます

  • サーバー-110423: $group は sparse indexで 個別のスキャン を使用できるため、null または欠落した結果が非表示になります

  • サーバー-110803: $top$bottom は、$sort ステージが DISTINCT_SCAN 最適化の対象となる場合、sortBy 句を無視します。

  • SERVER-110832: OplogWriter はロールバックを通じてセッションを保持しないでください。

  • SERVER-110916: targetShardsAndAddMergeCursors() の移動後に使用

  • サーバー-113319: $match は、式ルートが名前変更されたフィールドパス式である場合、名前変更されたフィールドのプッシュダウンが正しく実行されない

  • SERVER-115962: 最も負荷が高いシャードがすでにゾーン内でバランシングされている場合、バランサーは進行状況を行わない

  • SERVER-118428: mongocryptd は大きなメッセージを拒否します

  • サーバー-119317: MD5 ハッシュ状態のオブジェクトライフサイクルを改善します

  • SERVER-119319: ExpressionContext の使用後に無料で使用できるバグを修正しました

  • WT-14034: 予約更新のために準備されたキーを複数回解決する問題を修正しました

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

  • 8.0.20 変更履歴

重要

MongoDB 8.0.18には次の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

  • SERVER-102364 - maxAllowableBSONDepth 未満の $reduce 累積深度を定期的に確認します

  • サーバー-103774 - 複合ワイルドカードをシャードキーインデックスとして使用できないようにします

  • SERVER-110953 - 範囲のクローンを開始する前に、受信者シャードに孤立したドキュメントが存在しないことを確認

  • SERVER-112952 - プロファイルコマンド認証チェックを強化

  • サーバー-113532 - [8.0]16MB+32KB の新しい CursorResponseBsonSize 制限を導入しました

  • SERVER-113685 - 複合ワイルドカードに対するクエリのセグメント違反

  • SERVER-114126 - メモリ使用量を削減し、ブール値簡素化に新しい保護を追加します

  • SERVER-114695 - 保留中の接続のデフォルト値を更新

  • SERVER-114838 - ロック マネージャーは逆方向の DOS 攻撃の影響を受けやすくなります

  • サーバー-115296 - エラー メッセージから ResourceId の未加工値を編集

  • SERVER-116206 - メッセージコンプレッサーの例外処理の改善

  • SERVER-116210 - Ingress リクエストの最大バッファ サイズを調整

  • SERVER-116211 - ネットワーク バッファによって割り当てられるメモリを制限する

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

  • 8.0.18 変更履歴

重要

MongoDB 8.0.17には CVE-2025-14847 に対する修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

重要

MongoDB 8.0.16CVE-2025-12893CVE-2025-13507、およびCVE-2025-14345の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

  • SERVER-:55068 net.maxIncomingConnectionsLinuxシステムの の最大値を に設定します(RLIMIT_NOFILE / 2) * 0.8

  • サーバー-82688: 接続数が WiredTiger の session_max 制限を超えた場合に mongod がクラッシュするバグを修正します

  • サーバー-95374:和集合またはクエリ計画中に複合ワイルドカード インデックスが述語を誤ってプッシュダウンする問題を解決します

  • サーバー-103960: フィールドパスに適切な検証チェックを実装して、部分数が 255 を超えないようにします

  • サーバー-108565: 時系列コレクションへの過大な書き込みの処理を改善します。

  • SERVER-112467: 保留中のプロキシ接続数の追跡とレポート作成を改善します

  • サーバー-112520: 時系列コレクションの既存のバケットにドキュメントを挿入するときに、インデックスへの書き込みが失敗する問題を修正します

  • WT-9575: 最も古いトランザクションIDよりも新しい更新を含むページがエビクションのキューに入れられない問題を修正しました

  • WT-15225: 新しく作成されたテーブルと drop() 操作の EBUSY の問題を修正しました

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

  • 8.0.16 変更履歴

重要

MongoDBサーバークエリ プランナーで を使用した後に変更すると、クラッシュや未定義の動作が発生する可能性があります。

説明: 承認されたユーザーは、バッファのオーバー読み取りを発生させてMongoDBサーバーをクラッシュさせる可能性があります。これは、クエリの実行中にDDL操作を実行する場合に発生する可能性があります。

CVSS スコア: 5.3

CWE: 416 の使用後に無料で使用

影響を受ける製品のバージョン: MongoDB Server 8.2.0、8.0.14 から 8.0、7.0.24 から 7.0、およびそれ以前のサポート終了が近づいているメジャー バージョン。

修正された問題:

重要

MongoDB 8.0.14には CVE-2025 -13643 の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

  • SERVER-100448 : コマンド登録は、スタートアップに FCV に依存すべきではありません

  • SERVER-103742 : opWriteConcernCounters は NUL バイトを ServerStatus に不正に埋め込むことができます

  • SERVER-103841 : 長時間キャンセル ソースに関連付けられた TransactionCoordinator のメモリ リーク

  • SERVER-105478 : secondaryDelaySecs を使用して、適格な oplog エントリと適格でないoplogエントリを分離します

  • WT-14140 : スイープされていないアクティブな "ファイル:" ダンプファイルに対して取得された不要なスキーマロック

  • WT-14653 : HS アップデートを追跡するために、調整にログと統計情報を追加します

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

  • 8.0.14 変更履歴

重要

MongoDB 8.0.13には CVE-2025 -13644 の修正が含まれています。

MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。

修正された問題:

  • SERVER-77172 : abortExpiredTransactions スレッドがセッションのチェックアウトに失敗すると、停止する可能性があります

  • SERVER-82180 : プライマリでの Capped 挿入はセカンダリとは異なる自然な順序付けになる可能性があります

  • SERVER-91686 : 現在のスレッドのコマンドオブジェクトを出力するように mongod シグナル ハンドラーを改善しました

  • SERVER-94315 : 照合を伴うシャード フィルタリングのバグ

  • SERVER-102670 : 順序付き時系列挿入エラーの処理が正しくありません

  • SERVER-107361 :バケットカタログでのロールオーバーの決定が、大規模な測定値の混合スキーマのチェックに失敗する可能性があります

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

  • 8.0.13 変更履歴

互換性の変更:

  • SERVER-103927: SCons の代わりに Bazel を使用してサーバーをビルドする方法を変更します

重要

CVE-2025-10061 により、8.0.12 以前のMongoDB 8.0 では、承認されたユーザーが特別に作成された $group クエリを介してMongoDB Serverをクラッシュさせる可能性があります。この脆弱性は、 $group操作内で追加のパラメータが指定されている場合に、特定のアキュムレータ関数の誤った処理に関連しています。この脆弱性は、繰り返しトリガーされると、サービスを拒否する可能性があります。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.1.0 - 8.1.1

  • 8.0.0 - 8.0.11

  • 7.0.0 - 7.0.21

  • 6.0.0 - 6.0.24

CVSS スコア: 6.5

CWE: CWE-20 不適切な入力検証

修正された問題:

修正された問題:

重要

不正な KMIP 応答により読み取りアクセス違反が発生する可能性があります

CVE-2025-12657 により、8.0.10 以前のMongoDB 8.0 では、mongo バイナリにビルドされた KMIP 応答パーサーが、特定の不正パケットに対して過剰に許容され、無効なオブジェクトに解析される可能性があります。このオブジェクトを後で読み取ると、読み取りアクセス違反が発生する可能性があります。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.0.0 - 8.0.9

  • 7.0.0 - 7.0.21

CVSS スコア: 5.9

CWE: CWE-754: 非推奨または例外条件の不適切なチェック

修正された問題:

  • サーバー-101230: 埋め込み分析の障害 155126: 無効なイテレータを使用している

  • SERVER-90495 :自然な順序スキャンで削除されたレコード ID からの開始または再開をサポートします

  • SERVER-92806 : プランキャッシュエントリが $elemMatch とのインデックス照合を無視する

  • SERVER-96197 : ExpressionContext の _resolvedNamespaces では、異なる DB にある同じ名前のコレクションを区別できません

  • SERVER-100785 : 不正な reshardCollection コマンド発行後のMongoDBコンフィギュレーションサーバーの致命的なクラッシュ

  • WT-13216 : 圧縮コマンドのキャッシュエビクション チェックの使用を評価します

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

  • 8.0.10 変更履歴

重要

不完全なデータの誤処理により mongos が新しい接続を受け入れなくなる可能性があることを修正しました

CVE-2025-6714 により、8.0.9 以前のMongoDB 8.0 では、MongoDB Server の mongos コンポーネントは、不完全なデータの誤った処理が原因で、新しい接続を応答しなくなる可能性があります。この問題は、指定されたポートで HAProxy を使用し、mongos のロードバランサーサポートで構成されているシャーディングされたMongoDBクラスターに影響します。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.0.0 - 8.0.8

  • 7.0.0 - 7.0.19

  • 6.0.0 - 6.0.22

CVSS スコア: 7.5

CWE : CWE-834 過剰な反復処理 および CWE-400 非制御リソース消費

修正された問題:

修正された問題:

重要

MongoDB Server は$mergeCursors ステージにより特権昇格の影響を受けやすい可能性があります。

CVE-2025-6713 により、8.0.7 以前のMongoDB 8.0 では、権限のないユーザーが特別に作成された集計パイプラインを活用して、適切な認可なしでデータにアクセスする可能性があります。これは、次の$mergeCursorsステージの不適切な処理によるものです。 MongoDB Server.これにより、追加の認可なしでデータにアクセスする可能性があります。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.0.0 - 8.0.6

  • 7.0.0 - 7.0.18

  • 6.0.0 - 6.0.21

CVSS スコア: 7.7

CWE : CWE-285: 不適切な認可

修正された問題:

  • SERVER-106752 MongoDB Server は$mergeCursors ステージにより特権昇格の影響を受けやすい可能性があります

修正された問題:

重要

MongoDBサーバーの OIDC 認証におけるサービス脆弱性の事前認証拒否

CVE-2025-6709 により、8.0.5 以前のMongoDB 8.0 では、MongoDB Server は、 OIDC認証を使用する場合にJSON入力内の特定の日付値の処理が不適切であるため、サービス拒否の脆弱性の影響を受けます。これは、mongo シェルを使用して再現でき、悪意のあるJSONペイロードを送信し、不均等な障害とサーバーのクラッシュを引き起こす可能性があります。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

同じ問題はMongoDB Server v6.0 にも影響しますが、攻撃者は認証後にのみサービスの拒否を発生させることができます。この問題は、次のMongoDB Serverバージョンに影響します。

  • 6.0.0 - 6.0.20

CVSS スコア: 7.5

CWE : CWE-20: 不適切な入力検証

重要

MongoDBの過剰再帰によるJSON解析のサービスStack Overflow脆弱性の事前認証拒否

CVE-2025-6710 により、8.0.5 以前のMongoDB 8.0 では、MongoDB Server はJSON解析メカニズムにより、Stack Overflowの影響を受ける可能性があります。特別に作成されたJSON入力では、警告なしのレベルの再帰が発生し、スタック領域が過剰に消費される可能性があります。 このような入力はStack Overflowが発生し、サーバーがクラッシュして事前認証が発生する可能性があります。

この問題は、次のMongoDB Serverバージョンに影響します。

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

同じ問題はMongoDB Server v6.0 にも影響しますが、攻撃者は認証後にのみサービスの拒否を発生させることができます。この問題は、次のMongoDB Serverバージョンに影響します。

  • 6.0.0 - 6.0.20

CVSS スコア: 7.5

CWE: CWE-674: 非制御再帰

修正された問題:

  • SERVER-51366 インストーラーによって作成されたフォルダーを構成する

  • SERVER-93497 ユーザーキャッシュの無効化を OpObserver から onCommit ハンドラーに移動

  • SERVER-95672 サブ配列を含む配列フィールドのインデックスには、一部の結果は含まれません

  • SERVER-97044 ゾーンシャーディングを使用している または であるコレクションの再シャーディングまたはシャーディング中に、変更ストリームが "drop"イベントを誤って出力する問題を修正します

  • SERVER-97860 Expressパスは、一意のマルチフィールドインデックスをスキャンするときに誤った結果を返す可能性があります

  • SERVER-99290 時系列バケットコレクションが無効な場合、FCV 8 の完了を妨げます。0アップグレード

  • SERVER-99345 FCV 8 で「timeseries」オプションなしの時系列バケットコレクションのシャーディング/移動を行いません。0+

  • SERVER-106748 OIDC認証を受け入れる場合のサービスの事前認証拒否

  • SERVER-106749 MongoDBの過剰再帰によるJSON解析でのサービスStack Overflow脆弱性の事前認証拒否

  • WT-12846 compact Archive がチェックポイントフラッシュ_ロックから EBUSY を処理する方法を修正しました

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

  • 8.0.5 変更履歴

  • SERVER-73641 時系列フィルタリングでは、シャーディングされている場合に拡張範囲イベントが除外される可能性があります

  • SERVER-82037 ソーターのスピルで使用されるメモリは、無制限に増加する可能性があります

  • SERVER-94559 時系列測定の削除によりバケットの minTime が更新されます

  • SERVER-95067 時系列挿入により、同じバケットを参照する複数のバッチを生成できます

  • SERVER-95724 ReshardingOplogSession Application が、admin.$cmd で再試行可能な applyOps セッション情報を複製しますas orderedNamespace

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

  • 8.0.4 変更履歴

重要

null バイトの不適切な中性化により、 MongoDB Serverでバッファのオーバー読み取りが発生する可能性があります

MongoDB 8.0 および 8.0.1 では、承認されたユーザーは、 MongoDB Serverで不正なBSON を構築する特別に作成されたリクエストを発行することで、クラッシュをトリガーしたり、サーバー メモリのバッファ オーバー読み取りの内容を受信したりする可能性があります。

この問題は、 MongoDB Server のバージョンに影響します。

  • 5.0.0 - 5.0.29

  • 6.0.0 - 6.0.18

  • 7.0.0 - 7.0.14

  • 8.0.0 - 8.0.1

修正された問題:

修正された問題:

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

このセクションでは、MongoDB 8.0の既知の問題とその解決ステータスについて説明します。

バージョン
問題
ステータス

8.0.18, 8.0.19

SERVER-118428: mongocryptd を変更すると、mongocryptd が受信できるメッセージの最大サイズが 16 キーに制限されます。この問題は、自動クライアント側フィールドレベル暗号化(CSFLE)またはQueryable Encryptionを通じて 16 Kit を超えるコマンドを送信すると発生する可能性があります。

To avoid this bug, skip these versions when you upgrade mongocryptd or use the crypt_shared library.

未解決。

MongoDB 8.0 では、 MongoDB 7.0 からのパフォーマンスの大幅な向上が導入されています。これには次のようなものがありますが、これらに限定されません。

  • 読み取りスループットが最大 36% 向上 します。

  • 一般的なウェブ アプリケーションのパフォーマンスが最大 32% 向上。

  • レプリケーション中の同時書込みを最大 20% まで高速化します。

注意

パフォーマンス向上の量は、ワークロードとデータベースインスタンスの構成によって異なる場合があります。

Tip

MongoDB 8.0以降では、新しいbulkWriteコマンドを使用して、1 回のリクエストで複数のコレクションに対して多くの挿入、アップデート、削除操作を実行できます。 既存のdb.collection.bulkWrite()メソッドでは、1 回のリクエストで 1 つのコレクションのみを変更できます。

bulkWrite MongoDB 8.0 での 操作は、 MongoDB 7.0 での一括書込み操作よりも最大 56% 速く実行できます

バージョン8.0以降、 MongoDB は、ブロック処理を使用して特定の時系列クエリを実行する場合があります。 このパフォーマンス向上により、クエリは個々の値ではなく、データの「ブロック」単位で処理されます。 ブロック処理 により、時系列コレクションを操作する際のクエリ実行速度とスループットが向上します。

MongoDB 7.0 またはそれ以前のバージョンで実行される時系列クエリと比較すると、MongoDB 8.0 の時系列データのブロック処理は、より多くのデータを処理し、スループットを向上させる可能性があります。場合によっては、$group 操作および分析クエリで 200% 以上向上することがあります。

時系列クエリがブロック処理を使用しているかどうかを確認するには、説明プランの出力のexplain.queryPlanner.winningPlan.slotBasedPlan.stagesフィールドを確認します。

詳しくは、「ブロック処理 」を参照してください。

MongoDB 8.0以降、新しい MongoDB Server バージョン(メジャーとマイナー)は、OS ベンダーによって定義される最小のオペレーティング システム(OS)のマイナー バージョンをサポートします。 OS マイナー バージョンが OS ベンダーによってサポートされなくなると、MongoDB は MongoDB Server を更新して次の OS マイナー バージョンをサポートします。 詳細については、「 MongoDB Platform サポートの改善」を参照してください。

MongoDB 8.0は、最小の OS マイナー バージョンをサポートしています。

  • Red Hat Enterprise Linux 8.8

  • Red Hat Enterprise Linux 9.3

  • SUSE Linux Enterprise Server 15 SP 5

  • Amazon Linux 2023バージョン2023.3

MongoDB 8.0以降では、操作の合計レイテンシではなく、MongoDB がその操作に費やした時間に基づいて、低速操作をログに記録するようにデータベースプロファイラーを構成できます。 つまり、ロックの待機やフロー制御などの要因は、操作が 低速操作しきい値 を超えるかどうかに影響しません。

この変更により、ログ記録とクエリ分析が次の改善が行われます。

  • 低速クエリは、MongoDB がクエリの処理に費やす時間に基づいて、より正確にログに記録されます。

  • クエリプロファイラー、 Performance Advisor 、検索クエリ テレメトリなどのクエリ分析ツールでは、durationMillis ではなく workingMillis に基づいて低速操作が報告されます。 この変更により、問題のあるクエリのより正確なビューが提供されます。

  • 低速クエリ ログには、実行チケットのキューに入れられた時間のメトリクスが含まれます( queues.execution.totalTimeQueuedMicros 。 このメトリクスは、操作が完了までにかかる時間や操作の開始待機に費やされているかを特定するのに役立ちます。

詳細については、db.setProfilingLevel() を参照してください。

データベースプロファイラーにフィルターを指定すると、新しいworkingMillisメトリクスに基づいて操作をログに記録できます。 workingMillisdurationMillisの両方に基づいて操作をログに記録し、各メトリクスを異なるしきい値に設定できます。

MongoDB 8.0以降では、 $convert演算子を使用して次の変換を実行できます。

  • String values to binData values

  • binData 値から string 値へ

MongoDB 8.0には新しいヘルパー式$toUUID } も含まれています。これは、string を UUID値に変換するための簡素化された構文を提供します。

MongoDB 7.1以降、 $queryStatsステージは記録されたクエリの統計を返します。

MongoDB 8.0以降、 $queryStatsは変更ストリームの追跡とレポート作成メトリクスを改善します。 詳細については、「 $queryStats Change Streamsの動作 」を参照してください。

MongoDB 8.0以降、 $denseRankおよび$rank sortBy操作のnullと欠落しているフィールド値は、ランキングを計算するときに同じように扱われます。 この変更により、 denseRankrankの動作が$sortと一貫性が生じます。

MongoDB 8.0以降、 Queryable Encryptionは、 $lt$lte$gt 、および$gte演算子を使用した、暗号化されたフィールドに対する範囲クエリをサポートしています。 詳細については、「 Queryable Encryption がサポートする操作 」を参照してください。 暗号化されたフィールドで範囲クエリを有効にするには、「暗号化スキーマの作成 」を参照してください。

MongoDB 8.0以降では、監査ログ メッセージにOCSFスキーマを指定できます。 OCSF スキーマは、 ログ プロセッサ と互換性のある標準化された形式でログを提供します。

ログ メッセージに使用されるスキーマを設定するには、 auditLog.schema構成ファイル オプションを使用します。

OCSF 形式のログ メッセージの例については、「 OCSF スキーマ監査メッセージ 」を参照してください。

MongoDB 8.0 では、Ingress 認証制御用の新しいキューが導入されています。ネットワークからデータベースへのエントリがあるのを待つ操作は、Ingress キューに入力されます。デフォルトでは、キューは制限されていません。つまり、 MongoDBではすべての操作がこのステージでキューに入れられることなく実行できます。キューの最大値を特定の値に設定すると、同時操作の数が指定された制限に達した場合、このステージで操作をキューに持つことができます。

MongoDB 8.0 以降では、コレクションのシャーディングを解除し、シャーディングされたクラスター上のシャード間でシャーディングされていないコレクションをシャード間で移動できます。

MongoDB 8.0以降では、 moveCollectionコマンドを使用して、シャーディングされていないコレクションを別のシャードに移動できます。

詳細については、「移動可能なコレクション 」を参照してください。 開始するには、「コレクションの移動 」を参照してください。

MongoDB8.0 以降、movePrimary 変更ストリーム を持つイベント コレクションを無効化しません。コレクションが新しいシャードに移動された後も、変更ストリームはコレクションからイベントを引き続き読み取ります。

詳細については、Change Streamsをご覧ください。

MongoDB 8.0以降では、 unshardCollectionコマンドまたはsh.unshardCollection()メソッドを使用して、既存のシャーディングされたコレクションのシャーディングを解除できます。 この操作は、 コレクション内のすべてのドキュメントを、指定されたシャードまたはデータ量が最も少ないシャードに移動します。

MongoDB 8.0.10 以降、時系列コレクションを再シャーディング できます。時系列コレクション内のすべてのシャードは、リシャードするにはバージョン 8.0.10 以降を実行する必要があります。

詳細については、「シャーディングされていないコレクション 」を参照してください。 開始するには、「コレクションのシャーディングの解除 」を参照してください。

MongoDB 8.0以降では、通常の シャーディングされたシャーディングされたクラスターのメタデータデータ に加えて、アプリケーションデータを保存するようにコンフィギュレーションコンフィギュレーションサーバーを構成できます。 コンフィギュレーションコンフィギュレーションサーバーとシャードサーバーの両方の機能を提供するmongodノードは、コンフィギュレーションシャードと呼ばれます。 シャードサーバー機能を持たないスタンドアロン--configsvrとして実行されるmongodノードは専用コンフィギュレーションサーバーと呼ばれコンフィギュレーションサーバー。

専用のコンフィギュレーションコンフィギュレーションサーバーをコンフィギュレーションシャードとして実行するように構成するには、 transitionFromDedicatedConfigServerコマンドを実行します。

コンフィギュレーションシャードを専用のコンフィギュレーションコンフィギュレーションサーバーとして実行するように構成するには、 transitionToDedicatedConfigServerコマンドを実行します。

詳細については、「 コンフィギュレーションシャード 」を参照してください。開始するには、「 コンフィギュレーションシャードを使用してシャーディングされたシャードクラスタを開始する 」を参照してください。コンフィギュレーションシャードを使用してレプリカセットをシャーディングされたシャーディングされたクラスターに変換するには、「 埋め込みコンフィギュレーションサーバーを使用してシャーディングされたシャードクラスタにレプリカセットを変換 」を参照してください。

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

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

MongoDB 7.2 以降では、空のコレクションをハッシュされたシャードキーでシャードすると、 操作によってデフォルトでシャードごとに 1 つのチャンクが作成されます。 Previously, the operation created two chunks by default.

MongoDB 8.0以降では、 directShardOperationsロールを使用して、シャードに対してコマンドを直接実行する必要があるメンテナンス操作を実行できます。

警告

directShardOperations ロールを使用して コマンドを実行すると、クラスターが正しく動作しなくなり、データが破損する可能性があります。Only use the directShardOperations ロール for maintenance purposes or under the ガイダンス of MongoDB support.メンテナンス操作の実行が終了したら、directShardOperations ロールの使用を停止します。

MongoDB 8.0.5 以降、dbHash をシャードで直接実行することができます。ノード直接コマンドの完全なリストについては、シャーディングされたノード直接コマンドを参照してください。

MongoDB7.1 以降、クライアントのmongos getMore リクエストで exhaustAllowed フラグが設定されている場合、 はエグゼキューションカーソルをサポートします。これにより、クライアントが 1 つのリクエストに対してデータベース サーバーから複数の応答を受け取った場合に、シャーディングされたクラスターでのクエリのパフォーマンスが向上します。

MongoDB 7.1以降、 mongosは [ 0 、 65535 ] から--port値を受け入れます。 詳しくは、 --portを参照してください。

MongoDB 7.1以降では、 findAndModifydeleteOne()は部分的なシャードキーを使用してシャーディングされたコレクションをクエリできます。

MongoDB 8.0 では、再シャーディング操作のパフォーマンスが大幅に向上し、操作の実行時間が大幅に短縮されます。

さらに、アプリケーションとクラスターが 必要な要件制限を満たしている場合は、 reshardCollectionコマンドを使用して同じキーでコレクションを再シャーディングし、コレクションを再配布できます。これは、別の範囲移行手順 よりもはるかに高速です。

次のオプションが コマンドに追加されます。

フィールド
説明

forceRedistribution

同じキーの再シャーディング を有効にします。

例については、「新しいシャードへのデータの再配布 」を参照してください。

MongoDB 7.1以降では、 fsync } コマンドとfsyncUnlockコマンドは、シャーディングされたクラスターで fsync 操作を実行できます。

lockフィールドをtrueに設定してmongosで実行すると、 fsyncコマンドはストレージ層からディスクに書き込みをフラッシュし、各シャードをロックして追加の書込みを防ぎます。 その後、 fsyncUnlockコマンドを使用してクラスターのロックを解除できます。

この機能により、 mongodumpを使用したシャーディングされたクラスターの自己管理型バックアップが可能になります。

MongoDB7.1 以降、シャーディングされたコレクションで とともにupdateOne() upsert: true{ を使用する場合、フィルターに完全なシャードキーを含める必要はあり ません 。

MongoDB 8.0以降では、シャーディングされたコレクションをターゲットにしながら、トランザクション内で$lookupステージを使用できます。

MongoDB 8.0以降、 "majority"書込み保証 ( 書込み保証 (write concern) ) を使用する書込み操作は、レプリカセットノードの過半数が変更のoplogエントリを書込んだときに確認応答を返します。 これにより、 "majority"書き込みのパフォーマンスが向上します。 以前のリリースでは、これらの操作はレプリカセットの過半数が変更を適用した後、待機して確認応答を返していました。

アプリケーションが{ w: "majority" }書込み (write)操作(因果整合性のあるセッションなし)からの確認応答を受信した後すぐにセカンダリから読み取る場合、クエリは書込み (write) からの変更を含まない結果を返すことがあります。

MongoDB 8.0以降では、 replSetGetStatusコマンドを使用すると次のメトリクスが利用できます。

MongoDB 8.0以降、セカンダリは各バッチの oplog エントリを並列に書込み、適用します。 書込みスレッドはプライマリから新しいエントリを読み取り、ローカル oplog に書込みます。 アプライアンス スレッドはこれらの変更をローカル データベースに非同期に適用します。 この変更により、セカンダリのレプリケーション スループットが向上します。

これにより、 metrics.repl.bufferに重大な変更が導入され、1 つのバッファではなく 2 つのバッファに対してメトリクスが提供されるようになりました。

MongoDB 8.0では、次のサーバー ステータス メトリクスが非推奨になります。

MongoDB 8.0は、次のサーバー ステータス メトリクスを追加します。

MongoDB 8.0以降、 MongoDBは、メモリのフラグメント化を減らし、高負荷のワークロードに対するデータベースの回復力を高めます

新しい TCMalloc バージョンは、Transparent Huge Page の以前の本番環境の推奨事項に直接影響します。 詳細については、「自己管理型配置の TCMalloc パフォーマンスの最適化 」を参照してください。

MongoDB 8.0以降、次の新しいserverStatusメトリクスではtcmallocの使用に関する情報が報告されます。

MongoDB 8.0.4 以降、 setQuerySettingsを使用してクエリ設定にコメントを追加できます。例、クエリ設定を追加した理由を示すコメントを追加します。

MongoDB 8.0以降では、 Bulk.insert()およびデータ取り込みワークロードのパフォーマンスが向上する可能性があります。 ただし、これらのワークロードを実行した後すぐに MongoDB をシャットダウンすると、余計なデータがディスクにフラッシュされるため、時間がかかる可能性があります。

MongoDB 8.0以降では、通常のシャーディングされたクラスターのメタデータに加えて、アプリケーション データを保存するように コンフィギュレーションサーバー を構成できます。 また、コンフィギュレーションサーバーはコンフィギュレーションシャードと呼ばれます。 詳細については、「コンフィギュレーションシャード 」を参照してください。

MongoDB 7.3以降、 compactコマンドには、圧縮を続行するために回復可能な必要があるストレージ領域の最小量(メガバイト単位)が含まれる新しいfreeSpaceTargetMBオプションが含まれています。

MongoDB 8.0以降では、新しいautoCompactコマンドを使用してバックグラウンド圧縮を実行できます。 有効にすると、サーバーは各コレクションとインデックス内の空き領域を指定されたfreeSpaceTargetMB値より下に維持しようとします。

有効にすると、 compactコマンドは、対象コレクションから圧縮によって再利用できる領域の推定値(バイト単位)を返します。 dryRuntrueに設定してcompactを実行すると、MongoDB は推定値のみを返し、圧縮は実行しません。

MongoDB 7.1以降では、同じデータベースから異なるコレクションを対象とする複数のDDL 操作を実行する場合、MongoDB はそれらの操作を同時に実行します。

この変更により、 serverStatus locksフィールドとcurrentOp.locks出力に 2 つの新しいタイプが追加されます。

  • DDLDatabase

  • DDLCollection

MongoDB 7.2 以降、 mongos配置で存在しないデータベースを使用しようとする集計パイプライン クエリでは、検証エラーが返されます。

以前のバージョンでは、これらの集計クエリは空のカーソルを返していました。

MongoDB 8.0では、クラスターが DDL 操作( reshardCollectionなどのコレクションを変更する操作)を実行しているときにシャードを追加または削除すると、シャードを追加または削除する操作は、同時 DDL 操作が完了した後にのみ実行されます。

MongoDB 7.1以降では、パイプラインが パイプライン ステージの制限 を超えると、集計コマンドによってエラーがスローされるようになります。 詳細については、「ステージ数の制限 」を参照してください。

MongoDB 7.2 以降では、 演算子の 入力に、string に変換される任意の有効な 式field $getFieldを指定できます。以前のバージョンでは、field はstring定数のみを受け入れていました。

MongoDB 7.1 以降では、インデックス構築でのエラー報告が高速化され、障害回復力が高まります。 新しいindexBuildMinAvailableDiskSpaceMBパラメータを使用して、インデックスビルドに必要な最小ディスク容量を設定することもできます。これにより、ディスク容量が低すぎる場合はインデックスビルドが停止します。

次の新しいインデックス構築メトリクスが追加されました。

詳細については、「インデックス ビルド 」を参照してください。

MongoDB7.1 は、auditConfigmongod サーバーmongos インスタンスからの監査構成に関する情報を含む クラスター パラメータを追加します。

MongoDB 8.0以降では、 defaultMaxTimeMSクラスター パラメータを使用して、個々の読み取り操作が完了するデフォルトの時間制限を指定できます。

MongoDB 7.1では、インデックス構築に必要な最小ディスク容量を設定できるindexBuildMinAvailableDiskSpaceMBパラメータが追加されています。

MongoDB 8.0以降では、 tcmallocEnableBackgroundThreadはデフォルトで有効になっています。 これにより、MongoDB は定期的にメモリを解放してオペレーティング システムに戻すことができます。

MongoDB 8.0.20 以降では、ingressRequestRateLimiterApplicationExemptions パラメータを使用して、Ingressリクエストレート制限から除外するアプリケーションを指定できます。詳細については、ingressRequestRateLimiterApplicationExemptions を参照してください。

MongoDB 8.0では新しいクエリシェイプが導入されています。 既存のクエリシェイプの名前が、プラン キャッシュ クエリシェイプに変更されます。

MongoDB 8.0以降では、新しいクエリシェイプのクエリ設定を追加できます。 クエリオプティマイザは、クエリプランニング中にクエリ設定を追加の入力として使用します。これは、一致するクエリシェイプを持つクエリを実行するために選択されたプランに影響します。

クエリ設定は、インデックス フィルターと比較して機能が向上しています。 インデックス フィルターも MongoDB 8.0以降は非推奨になっており、それらの使用は避けてください。

MongoDB 8.0以降では、次の出力にqueryShapeHashが含まれます。

MongoDB 8.0 以降では、既存の queryHashフィールドはplanCacheShapeHash という名前の新しいフィールドに重複します。 以前のバージョンのMongoDBを使用している場合は、queryHashフィールドのみが表示されます。 今後のMongoDBバージョンでは、非推奨の queryHashフィールドが排除されます。代わりに planCacheShapeHashフィールドを使用する必要があります。

MongoDB 7.2 以降では、shardCollection コマンドから numInitialChunks オプションが削除されました。サーバーは、 空のコレクションに対して ハッシュされたシャーディングを使用する場合、クラスター内のすべてのシャードにチャンクを自動的に作成します。

MongoDB 8.0以降、 getParameterコマンドはsetAtフィールドを受け入れます。 このフィールドを使用して、 allParameters: trueが返すドキュメントをフィルタリングして、スタートアップまたは実行時に設定できるパラメータのみを表示できます。

MongoDB8.0 以降では、"snapshot" Capped コレクションで読み取り保証 を使用できます。

MongoDB 7.1以降では、 serverStatusコマンドの出力に次の新しいメトリクスが含まれています。

MongoDB 7.2以降では、 serverStatusコマンドの出力に次の新しいメトリクスが含まれています。

MongoDB 7.3以降では、 serverStatusコマンドの出力に次の新しいメトリクスが含まれています。

MongoDB 8.0以降では、 serverStatusコマンドの出力に次の新しいメトリクスが含まれています。

MongoDB8.0 以降では、updateOne() 、 、 には、更新を適用する前にドキュメントを順序付けするための任意のreplaceOne() updatesortフィールドがあります。

以前のリリースでは、 findAndModify()メソッドとfindOneAndUpdate()メソッドを使用して、ユーザー指定のソート順序で最初のドキュメントを更新していました。 再試行可能な書込みをサポートするには、これらのメソッドがドキュメント全体を各ノードの特別なサイド コレクションにコピーする必要があります。これは、新しいsortオプションを備えたupdateOne()メソッドよりもコストのかかる操作です。

MongoDB 7.1以降では、 distinctコマンドでhintフィールドが使用でき、クエリのインデックスを指定できます。

MongoDB7.1 以降では、 Cappedコレクション TTL インデックス を作成できます。

MongoDB 8.0以降、限定的なクエリのセット( _id等価一致を含む)は、通常のクエリ計画と実行をスキップします。 代わりに、これらのクエリでは、次のいずれかのプラン ステージで構成される最適化されたインデックス スキャン プランが使用されます。

  • EXPRESS_CLUSTERED_IXSCAN

  • EXPRESS_DELETE

  • EXPRESS_IXSCAN

  • EXPRESS_UPDATE

クエリプランの詳細についてはexplain の結果 を参照してください。

MongoDB 8.0以降、拒否されたクエリプランにはクエリのfind部分のみが含まれます。 以前のバージョンでは、拒否されたプランには$groupのような 集計ステージ が含まれることがあります。 これらの集計ステージは勝利プランを選択するためにクエリ プランナーによって使用されることはありません。そのため、 rejectedPlansフィールドには、勝利プランを選択するために使用されたクエリの部分のみが含まれます。

この変更により、拒否されたプランのexecutionStatsもゼロ以外になります。 その結果、拒否されたプランによって検査されたドキュメントやキーの数などの統計が表示されるようになりました。

拒否されたクエリプランの詳細については、 explain.queryPlanner.rejectedPlansをご覧ください。

MongoDB 8.0 以降、MongoDB は、ハッシュされていないパスのハッシュされたパス プレフィックスを持つインデックスを持つコレクションのスロットベースの実行エンジンを自動的に無効にします。ここでは両方のパスがインデックスに含まれています。

MongoDB 8.0 以降、トランザクション外の一括挿入操作では、個々の oplog エントリが生成されなくなりました。代わりに、 MongoDB は通常、一括挿入を 1 つのエントリとしてバッチします。各ドキュメントの変更ストリームinsertイベントのclusterTime は同じです。

この変更により、複数ドキュメント挿入操作のパフォーマンスが向上し、複数のoplog書込みによって発生する可能性のあるレプリケーションラグがなくなります。

MongoDB 8.0以降では、複数の ID プロバイダー(IDP)が定義されている場合、 audience値が各発行者に対して一意である限り、 oidcIdentityProvidersパラメータは重複するissuer値を受け入れます。 これは、バージョン7.3および7でも利用できます。 0 。

MongoDB 以降では、8.0 $lookup$unionWith 内のサブパイプラインの名前空間が検証され、from collフィールドと フィールドが正しく使用されるようになりました。

詳細については、「 $lookup サブパイプライン 」と「 $unionWith サブパイプライン 」を参照してください。

explain()メソッドがクエリ プランナーの最適化時間に関する情報を返すようになりました。queryPlanner.optimizationTimeMillisステータスは、クエリ プランナーが最適化に費やした時間をミリ秒単位で表示します。

MongoDB 8.0.22 以降、chars に提供する string の長さは 4096 文字に制限されています。詳細については、$trim 制限 を参照してください。

重要

機能の互換性バージョン

MongoDB8.0 7.0配置から MongoDB にアップグレードするには、7.0 featureCompatibilityVersion配置で7.0 を に設定する必要があります。バージョンを確認するには、以下を参照してください。

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

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

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

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

重要

マイナー リリースでは、Atlasライブ移行や mongosync などの一部の機能がサポートされていない場合があります。これらの機能が必要な場合は、代わりにメジャー リリースを使用してください。

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

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

  • MongoDB Community Edition ではバイナリー ダウングレードはサポートされていません。

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

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

戻る

サーバー リリースノート

項目一覧