MongoDB 6.0 のリリースノート
項目一覧
このページでは、MongoDB 6.0 で導入された変更点と新機能について説明します。
MongoDB 6.0 はメジャー リリースであるため、MongoDB Atlas とオンプレミスの配置の両方でサポートされます。MongoDB 6.0 には、MongoDB Rapid Release 5.1、5.2、5.3 で導入された変更が含まれています。このページでは、これらの Rapid Release と MongoDB 6.0 で導入された変更について説明します。
メジャー リリースと Rapid Release の違いの詳細については、「 MongoDB のバージョン管理 」を参照してください。
警告
過去のリリース制限
以下の 重要な助言 は、一部の MongoDB の前のバージョンに影響します。 配置が重要な助言によって影響を受ける機能に依存している場合は、利用可能な最新のパッチ リリースにアップグレードしてください。
問題 | 影響を受けるバージョン |
---|---|
6.0.0 | |
6.0.0 - 6.0.12 | |
6.0.0 - 6.0.11(metaField 埋め込みオブジェクトによってシャーディングされた時系列コレクション) | |
6.0.0 - 6.0.13 | |
6.0.0 - 6.0.4(ARM64 または POWER システム アーキテクチャ) | |
6.0.0 - 6.0.5(Ops Manager または Cloud Manager クラスターの増分バックアップ) | |
6.0.0 - 6.0.16 |
パッチ リリース
6.0.18 - 9 月30 、 2024
SERVER-70508 Linux の serverStatus の extra_info に現在のスレッド数を追加しました
SERVER-94166 v で SBE クエリ エンジンを無効にします。60
SERVER-94170 SERVER-91570 を 元に戻す
6.0.17 - Aug 21, 2024
重要
CSFLE およびQueryable Encryptionの自己検索で、暗号化ではなくプレーンテキストとしてサブパイプラインの値が送信されることがある問題を修正します
CVE-2024 -8013 により、 以前のMongoDB 800}6.0 6.0.16では、特定の複雑な自己参照 サブパイプラインのクエリ分析でバグが発生し、暗号化された$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
CVSS スコア: 2.2
CWE : CWE- 319 : 機密情報のクリアテキスト送信
SERVER-96254 CSFLE およびQueryable Encryptionの自己検索でサブパイプラインの値の暗号化に失敗する可能性があります
SERVER-85892 $documents がエラーを返した後のパイプラインとの $merge
SERVER-91195 最上位の時系列コレクション オプションを欠落しないように汎用的なバックポート可能なソリューションを提供
SERVER-91362 パフォーマンス:JavaScript キャッシュされた JsExecution が存在する場合、 の「スコープ」オブジェクトをコピーしないでください
SERVER-91406 $changeStreamSplitLargeEvent7182803 はロケーション エラーを返します
WT-12708 エビクションランダムトラバーサルの評価と修正
6.0.16 - Jun 28, 2024
サーバー -79637 相関述語を使用した TS 外部コレクションの
$lookup
でクエリ結果が不正確となるSERVER-86474 $_ internalApplyOplogUpdate と
$set: { foo: Timestamp(0, 0) }
が正しく複製されないSERVER-89625 バックアップ中に名前空間と UUID を報告するときに、directoryPerDb と wiredTigerDirectoryForIndexes を正しく処理します
WT-10807 ツリーウォークの一部としてメモリ内の削除されたページをスキップする
WT-12609 チェックポイントのクリーンアップとページ エビクション ロジックを改善してください
6.0.15 - Apr 18, 2024
SERVER-72703 $out の DB ロックを MODE_IX にダウングレード
SERVER-78556 internalInsertMaxBatchSize のデフォルトを 64 に戻します
サーバー -80363: wtimeout が設定されている場合、サーバーでデフォルトの writeConcern が無視されます。
SERVER-83602 $or -> $in MatchExpression の書き換えでは、別の $or に直接ネストされた $or が生成されないはず
WT-11062 同時アクセスを可能にするために参照アドレスを安全に解放
6.0.14 - Feb 28, 2024
重要
MongoDB Server が信頼できない接続が成功する可能性があることに対する修正
CVE- 2024 - 1351により、 6.0.14以前の MongoDB 6.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-82353 movePrimary が同時に実行されると、マルチドキュメントトランザクションでドキュメントが失われる可能性あり
SERVER-83119 notablescan が有効になっている場合、クラスター化されたコレクションでセカンダリ レプリカがクラッシュします
SERVER-83145 共有バッファ フラグメントが freeUnused() でメモリ使用量の追跡が誤っています
SERVER-83564 プロセス フィールドが config.locks でインデックスされていることを確認
WT-12077 スタック上のバッファ用にzSeries でのハードウェア チェックサム値の計算が正しくありません
6.0.13 - Jan 18, 2024
サーバー -33494: WT SizeStorer は古いエントリを削除しません。
SERVER-50792 shardCollection/refineCollectionShardKey のシャードキー インデックスが見つからない場合に、より有用なエラーを返す
SERVER-70155 mongod 「低速クエリ」ログ行に oplog スロットを開いたままにしている期間を追加する
SERVER-77506 シャーディングされたマルチドキュメントトランザクションでは、データと ShardVersion が一致しない可能性があります。
SERVER-83091 $or クエリはプラン列挙中に無限ループを引き起こす可能性あり
6.0.12 - 2023 年 11 月 27 日
サーバー -69244: セッションのデフォルトの読み取り保証(read concern)が「majority」に設定されていると、$merge は失敗します。
SERVER-81295 V1 再開トークンを使用して、V2 changeStream パイプラインを再開できません
SERVER-81966 更新中に以前のチャンクマップ インスタンスの変更を避ける
WT-7929 チェックポイント中の FTDC ストールを回避するための解決法を調査すること
WT-11564 チェックポイントに存在する場合にのみ最新のトランザクション値を読み取るように RTS を修正
6.0.11 - 2023 年 10 月 11 日
SERVER-58534 FTDC での fCV の収集
サーバー -69244: セッションのデフォルトの読み取り保証(read concern)が「majority」に設定されていると、$merge は失敗します。
SERVER-71520 RSTL 取得タイムアウト時にすべてのスレッド スタックを書き出して保存
SERVER-79498 $vectorSearch を 6.0 にバックポートします
SERVER-80021 double と string の間で $convert の正しくラウンドトリップを作成します
6.0.10 - 2023 年 9 月 14 日
SERVER-71627 キャッシュされたコレクション ルート情報を更新すると、100万チャンクのクラスターですべてのクライアントリクエストが著しくブロックされます。
SERVER-73394 曖昧な operationsBlockedByRefresh メトリクスを排除します
SERVER-77183 $project の後に $group を続けると、誤った結果が返されることがあります
SERVER-79771 networkInterfaceExceededTimeLimit に対してリシャーディング操作を回復性のあるものにする Jira に関する問題は、6.0.10ですべて解決しました
6.0.9 - Aug 14, 2023
SERVER-60466 addShard の実行前に、署名された $clusterTimes をレプリカセット --shardsvrs にゴシップするドライバーをサポートします。
SERVER-74954 $ が含まれている場合、または $elemMatch の追加条件を書き換えた場合、結果が不正確になる
SERVER-79136 時系列のメタフィールドでの $match + $group のクエリ結果が正しくありません
WT-10759 調整中に履歴保存ページの強制削除を再試行しないこと
WT-11064 アップデートの廃止チェックの一環として、グローバルに表示されるトゥームストーンをスキップすること
6.0.8 - 2023 年 7 月 13 日
SERVER-61127 マルチ書き込みでは、進行中のチャンク移行がある場合に再試行回数を使い果たす可能性があります
SERVER-77005 LDAP ダウンタイム中は LDAP ユーザーをログインしたままにします
SERVER-78126 特定の種類の入力の場合、 mongo::Value() は常に同じ結果にハッシュします。
6.0.7 - Jun 28, 2023
SERVER-71985 DuplicateKey エラー発生時に時系列挿入を自動的に再試行する
SERVER-73007 マルチパス認証用に CURL_OPT_SEEKFUNCTION が設定されていない
SERVER-74551 mongo 5.0 へのアップグレード後に、findAndModify 中に WriteConflictException が警告として不必要にログに記録さる
SERVER-77018 dbStats と 2 つのインデックス構築のデッドロック
WT-10449 履歴ストアに書き込むアップデートがない場合、アップデートチェーンを保存しないこと
WT-11031 チェックポイントに時間ウィンドウ情報がないテーブルをスキップするように RTS を修正
6.0.6 - 2023 年 5 月 12 日
SERVER-51835 Mongos readPreferenceTags が期待どおりに機能していない
SERVER-67105 $inクエリはクラスター化インデックスを使用しません
SERVER-72774 休止モードのノードが選出される可能性あり
SERVER-74930 $avg は集計 $group の平均ではなく合計を返します
SERVER-75205 すべての読み取りチケットが使い果たされた後に、ステップダウンと復元ロックの間でデッドロックが発生する
6.0.5 - 2023 年 3 月 13 日
警告
MongoDB の既存のインスタンスを MongoDB 6.0.5 にアップグレードする場合、 mongod.conf
ファイルにfork: true
が設定されていると、そのインスタンスが起動に失敗する可能性があります。
アップグレードの問題は、 .deb
または.rpm
インストール パッケージを使用するすべての MongoDB インスタンスに影響します。 tarball( .tgz
)リリースまたはその他のパッケージ タイプを使用するインストールは影響を受けません。 詳細については、 SERVER-74345 を参照してください。
fork: true
設定を削除するには、システム ターミナルから次のコマンドを実行します。
systemctl stop mongod.service sed -i.bak '/fork: true/d' /etc/mongod.conf systemctl start mongod.service
設定が削除された後に、2 番目のsystemctl
コマンドはアップグレードされたインスタンスを起動します。
修正された問題:
SERVER-61909 多数のインデックスエントリを持つドキュメントの挿入または削除がハングする
SERVER-66469 日付フィールドで時系列をフィルタリングすると、1970 年より前の結果は含まれません。
サーバー -68122 最初の同期中にコレクション WiredTiger 構成文字列を複製する方法について調査します
SERVER-70395 スロット ベースのエンジンは $group でディスクを過度に使用するため、速度が遅くなります
SERVER-73232
_killOperations
のデフォルトのログ冗長度を変更します
6.0.4 - Jan 26, 2023
修正された問題:
SERVER-72416 find と findAndModify プロジェクション コードはコレクション レベルの照合を尊重しない
SERVER-71759
dataSize
コマンドが生成されないSERVER-70237 チャンクのマージ コミットでは、大きすぎる BSON オブジェクトを作成してはいけません
SERVER-72222
mapReduce
で single reduce が最適化されている場合、マージングの結果シャードされたクラスターが作成されると失敗しますWT-9268 履歴保存レコードの削除を調整まで遅らせる
6.0.3 - 2023 年 11 月 21 日
修正された問題:
SERVER-66289 $out が v で BSONObj サイズ5 0エラーを誤ってスローします。 。8
SERVER-68139 プロジェクション ソートが 100 MB より大きい場合、再シャーディング コマンドは失敗
SERVER-68371 MongoClient で CSFLE を有効にすると Atlas Search が失敗します
SERVER-68115 「elemMatchRootLength > 」不変 のバグ修正0trigger
SERVER-68394 _id インデックスが欠落している場合、スタートアップ時のリカバリで強力なロックが生成されないようにします
6.0.3 - 2023 年 9 月 28 日
修正された問題:
SERVER-68925 起動時にチェックテーブルログ設定を再導入する(SERVER-43664 を元に戻す)
SERVER-68628 プライマリ フェイルオーバー後に失敗した再シャーディング操作を再試行すると、サーバーのクラッシュや書き込みの損失につながる可能性あり
SERVER-63852 getThreadName() はクラッシュしないようにしてください
SERVER-65317 mongod は単純な $検索クエリを実行した後、接続プールから接続を削除します
SERVER-63843 同期シグナル ハンドラーで再帰的な doLog を許可しない
WT-9870 リカバリ中に最も古いタイムスタンプが更新されるたびに、固定されたタイムスタンプの更新を修正しました
6.0.1 - Aug 19, 2022
修正された問題:
SERVER- エントリの68511 movePrimary
config.databases
更新では、ドット フィールド表記を使用する必要がありますSERVER-68062 $geoNear を使用する複数ステージの集計は制約に違反する可能性があります
SERVER-66072 $match サンプリングと $group 集計の奇妙な動作
SERVER-68130 AutoSplitVector は BSONObjMaxUserSize より大きい応答を生成する可能性あり
SERVER-68209
config.image_collection
エントリの無効化を防ぐ uassert を削除します
6.0.0 - 2022 年 7 月 19 日
このページの残りの部分では、MongoDB 6.0 で導入された変更点と新機能について説明します。
集計
新しい集計ステージ
MongoDB 6.0 では、次の集計ステージが導入されています。
ステージ | 説明 |
---|---|
指定フィールドの値が欠落している一連のドキュメントに新しいドキュメントを作成します。 | |
入力式からリテラル ドキュメントを返します。 | |
ドキュメント内の | |
バージョン 6.0.3 で追加: シャーディングされたコレクションのサイズとデータ分布の情報を提供します。 |
新しい集計演算子
MongoDB 6.0 では、次の集計演算子が導入されています。
演算子 | 説明 |
---|---|
指定ソート順に従って、グループ内の最下位の要素を返します。 | |
指定ソート順に従って、グループ内の最下位である n 要素の集計値を返します。 | |
グループ内の最初の n 要素の集計値を返します。$firstN 配列演算子とは異なります。 | |
配列の先頭から指定した数の要素を返します。 $firstN アキュムレータとは異なります。 | |
グループ内の最後の n 要素の集計値を返します。$lastN 配列演算子とは異なります。 | |
配列の末尾から指定した数の要素を返します。 $lastN アキュムレータとは異なります。 | |
Last observation carried forward(LOCF)法。ウィンドウ内の | |
グループ内で値が最大である n 要素の集計値を返します。$maxN 配列演算子とは異なります。 | |
配列内の n 個の最大値を返します。$maxN アキュムレータとは異なります。 | |
グループ内で値が最小である n 要素の集計値を返します。$minN 配列演算子とは異なります。 | |
配列内の n 個の最小値を返します。$minN アキュムレータとは異なります。 | |
配列をその要素に基づいてソートします。 | |
指定ソート順に従って、グループ内の最上位の要素を返します。コマンド top とは異なります。 | |
指定ソート順に従って、グループ内で最上位である n 要素の集計値を返します。 | |
$lookup
シャーディングされたコレクションを持つ と$graphLookup
MongoDB 5.1 以降では、$lookup
ステージと $graphLookup
集計ステージにおいて from
パラメーターでシャーディングされたコレクションがサポートされるようになっています。
以前のバージョンの MongoDB では、$lookup
と $graphLookup
では、シャーディングされていない from
コレクションのみが許可されていました。
シャーディングされたコレクションをターゲットにしている間は、トランザクション内で $graphLookup
ステージを使用できません。
変更ストリーム
最適化された変更ストリーム
MongoDB 5.1 以降では、変更ストリームが最適化され、リソースの使用効率が上がり、一部の集計パイプライン ステージの実行が高速化されています。
wallTime
ストリーム出力フィールドの変更
MongoDB 6.0 以降で変更ストリーム出力に新たに追加された wallTime
フィールドでは、サーバー日付とデータベースの操作時間が確認できます。
変更ストリームにおけるドキュメントの変更前と変更後のイメージ
MongoDB 6.0 以降では、変更ストリームを使用して、変更前と変更後のドキュメントのバージョン(ドキュメントの事前イメージと事後イメージ)を出力できます。例については、「Change Streams とドキュメントの変更前イメージおよび変更後イメージ」を参照してください。
変更ストリームの拡張イベント
MongoDB 6.0 以降では、インデックスの作成やコレクションの削除といった DDL 操作を補完する変更イベントを変更ストリームに表示できます。
詳細については、「拡張イベント」を参照してください。
フィルター
MongoDB 6.0 以降では可能な限り、一致フィルターが変更ストリームに適用される時期が以前のリリースより早くなっています。これにより、パフォーマンスが向上します。ただし、フィルターが狭く定義されている場合は、早期に一致させることで、以前のバージョンでは成功する操作が 6.0 では失敗する可能性があります。
クラスター管理
Cluster Server Parameters
MongoDB 6.0以降では、 自己管理型配置のクラスター パラメーター を使用して、レプリカセットまたはシャーディングされたクラスター内のすべてのノードの構成オプションを変更、取得できます。 クラスター全体のオプションを変更するにはsetClusterParameter
を、クラスター パラメータの値を取得するには、 getClusterParameter
を使用できます。
接続プールのパラメーター
MongoDB 6.0 以降では、ShardingTaskExecutorPoolMinSizeForConfigServers
と ShardingTaskExecutorPoolMaxSizeForConfigServers
を使用して、構成サーバーのシャーディング TaskExecutor 接続プールの最小サイズと最大サイズを設定できます。
changeStreamOptions
Cluster Parameter
MongoDB 6.0 以降では、changeStreamOptions
を使用して変更ストリームの変更前と変更後のイメージの保持ポリシーを制御できます。
internalSessionsReapThreshold
Parameter
MongoDB 6.0 以降では、新しいinternalSessionsReapThreshold
パラメーターを使用して、内部セッションでのメタデータの削除にセッション制限を設定できます。
複数のアービタがサポート対象外
MongoDB 5.3 以降では、レプリカセット内の複数のアービタのサポートはデフォルトで無効になっています。複数のアービタのサポートを有効にするには、各ノードを allowMultipleArbiters
パラメーターで起動します。
クラスター化されたコレクション
MongoDB 5.3 以降では、クラスター インデックス付きのコレクションを作成できます。 クラスター化されたインデックスを使用して作成されたコレクションは、クラスター化されたコレクションと呼ばれます。
通常のコレクションと比較した利点については、「クラスター化されたコレクション」を参照してください。
Indexes
MongoDB 5.1 以降では、collMod
データベースコマンドを使用して、既存の単一フィールドに作成される TTL 以外のインデックスに expireAfterSeconds
オプションを追加できます。
MongoDB 6.0 以降では、collMod
コマンドでprepareUnique
と unique
オプションを使用して、既存の標準インデックスを一意のインデックスに変換できます。
部分インデックス
MongoDB 6.0 以降では、演算子 $in
と $or
を使用して部分インデックスを作成できます。partialFilterExpression
の最大深度も 2 から 4 へ拡大できます。また、演算子 $and
と $or
を最上位レベル以外で使用できるようになりました。
インストール
SELinux ポリシー
MongoDB 5.1 以降では、次のサーバー向けに新しい SE Linux ポリシーが導入されています。
いずれも Red Hat Linux で実行します。この SELinux ポリシーは、rpm
インストーラー パッケージを使用したデフォルトのインストールで使用されます。
プラットフォーム サポート
MongoDB 6.0.3 では、 RHEL 、CentOS、Oracle、Rocky、AlmaLinux 9 のサポートが導入されています。
RHELに MongoDB をインストールするには、以下を参照してください。
レプリカセット
複数のアービタがサポート対象外
MongoDB 5.3 以降では、レプリカセット内の複数のアービタのサポートはデフォルトで無効になっています。複数のアービタのサポートを有効にするには、各ノードを allowMultipleArbiters
パラメーターで起動します。
initialSyncMethod
Parameter
MongoDB 5.2 以降では、最初の同期が論理的な最初の同期になるかファイル コピーをベースとする最初の同期になるかは、initialSyncMethod
によって決定されます。
initialSyncMethod
は MongoDB Enterprise Server でのみ利用可能です。
セカンダリ oplog バッチ遅延の指定
MongoDB 6.0 以降では、 oplogBatchDelayMillis
サーバー パラメータを使用してセカンダリでの oplog バッチ書込みの遅延を指定できます。 oplog バッチの短い遅延を追加するとセカンダリのIOPSを削減できますが、 書込み保証 (write concern "majority"
による書込みのレイテンシが増加します。
詳細については、oplogBatchDelayMillis
を参照してください。
セキュリティ
監査ログの暗号化
MongoDB 6.0 Enterprise 以降では、MongoDB の監査ログを暗号化できます。
監査するログを構成するには、「監査ログ」を参照してください。
サーバー パラメータ
mongod
次のパラメーターを追加します。
transactionTooLargeForCacheThreshold
(MongoDB 6.0.5 以降。)
シャーディング
ポリシーの変更のバランシング
MongoDB 6.0.3 以降では、シャーディングされたクラスター内のデータは、チャンクの数ではなくデータサイズに基づいて分散されます。 その結果、シャーディングされたクラスターのデータ分散動作における次の重要な変更に注意する必要があります。
バランサーは、チャンクではなくデータの範囲を分散します。 バランシング ポリシーは、チャンク分散ではなくデータ分散の均等性を重視します。
チャンクは自動分割の対象となります。 代わりに、チャンクはシャード間で移動された場合にのみ分裂されます。
チャンクは範囲と呼ばれるようになりました。
moveRange
は、moveChunk
の後継機能です。
デフォルトのチャンクサイズが 64MB から 128MB に増加
MongoDB 5.2 以降のデフォルトのチャンク サイズは 128 メガバイトです。MongoDB の以前のバージョンのデフォルトのチャンク サイズは 64 メガバイトです。
enableSharding
が不要に
MongoDB 6.0 以降、コレクションのシャードに enableSharding
コマンドは不要になっています。
デフラグ ステータスの監視
MongoDB 5.3 以降では、チャンクのデフラグ中の名前空間で balancerCollectionStatus
コマンドを実行すると詳細な情報が返されます。出力にはデフラグの現在のフェーズと、処理が残っているチャンクの数が含まれます。
出力の例については、「進行中のデフラグ プロセス」を参照してください。
スロットベースのクエリ実行エンジン
MongoDB 5.1 以降、MongoDB では適格なクエリを対象に、スロットベースと呼ばれる新しいクエリ実行エンジンが使用されます。スロットベースのクエリ実行エンジンを使用する場合、新しいフィールドがクエリ explain プランの出力に含まれます。
可能な場合は、新しいクエリ実行エンジンが使用されます。
新しいクエリ実行エンジンを使用する場合、新しいフィールドがクエリ explain プランの出力に含まれます。
スロットベースのクエリ実行エンジンは、$group
$lookup
ステージと ステージを実行できます
バージョン 6.0 以降、MongoDB ではスロットベースのクエリ実行エンジンを使用して、特定の条件が満たされた場合に、対象となる $group
ステージと $lookup
ステージが実行されます。
詳細については、「スロットベースのクエリ実行エンジンのパイプラインの最適化」を参照してください。
Stable API
次のセクションでは、MongoDB 6.0 で導入された Stable API への追加項目について説明します。
Stable API で使用できるデータベース コマンドの完全なリストを確認するには、「Stable API の変更ログ」を参照してください。
データベース コマンド
MongoDB 6.0 以降では、Stable API で次のデータベースコマンドがサポートされます。
コマンド | 説明 | Stable API バージョン |
---|---|---|
コレクションまたはビューに含まれるドキュメント数をカウントします(MongoDB 5.0.9 以降の 5.0 シリーズの配置向け Stable API でも利用できます)。 | V1 |
集計ステージと演算子
MongoDB 6.0 以降では、Stable API で次の集計ステージと演算子がサポートされます。
ステージまたは演算子 | 説明 | Stable API バージョン |
---|---|---|
指定ソート順に従って、グループ内の最下位の要素を返します。 | V1 | |
指定ソート順に従って、グループ内の最下位である n 要素の集計値を返します。 | V1 | |
指定された時間単位数の分だけDateオブジェクトを増加させます。 | V1 | |
2 つの日付の差を返します。 | V1 | |
指定された時間単位数でDateオブジェクトを減算します。 | V1 | |
日付を切り捨てます。 | V1 | |
フィールド内の特定の値が欠落しているドキュメントのシーケンス内に新しいドキュメントを作成します。 | V1 | |
$firstN (集計アキュムレータ) | グループ内の最初の n 要素の集計値を返します。 | V1 |
$firstN (配列演算子) | 配列の先頭から指定した数の要素を返します。 | V1 |
ドキュメントから指定したフィールドの値を返します。 | V1 | |
$lastN (集計アキュムレータ) | グループ内の最後の n 要素の集計値を返します。 | V1 |
$lastN (配列演算子) | 配列の末尾から指定された数の要素を返します。 | V1 |
Last observation carried forward(LOCF)法。ウィンドウ内の | V1 | |
$maxN (集計アキュムレータ) | グループ内の最大値である n 要素の集計値を返します。 | V1 |
$maxN (配列演算子) | 配列内の n つの最大値を返します。 | V1 |
$minN (集計アキュムレータ) | グループ内の最小値である n 要素の集計値を返します。 | V1 |
$minN (配列演算子) | 配列内の n つの最小値を返します。 | V1 |
ドキュメント内の指定フィールドを追加、アップデート、排除します。 | V1 | |
コレクション内の指定されたドキュメント範囲(ウィンドウと呼ばれる)に対して操作を実行し、選択したウィンドウ演算子に基づいて結果を返します。 | V1 | |
配列をその要素に基づいてソートします。 | V1 | |
指定ソート順に従って、グループ内の最上位の要素を返します。 | V1 | |
指定ソート順に従って、グループ内で最上位である n 要素の集計値を返します。 | V1 | |
V1 | ||
V1 |
ウィンドウオペレーター
MongoDB 6.0 以降では、Stable API で以下のウィンドウ演算子がサポートされます。
ウィンドウ演算子 | 説明 | Stable API バージョン |
---|---|---|
各ドキュメントに式を適用した結果取得されるすべての一意の値の配列を返します。 | V1 | |
指定された式の平均を返します。数値以外の値は無視します。 | V1 | |
グループまたはウィンドウ内のドキュメントの数を返します。 | V1 | |
2 つの数値式の母共分散を返します。 | V1 | |
2 つの数値式のサンプル共分散を返します。 | V1 | |
$setWindowFields ステージ パーティション内の他のドキュメントに対するドキュメントの位置(ランクと呼ばれる)を返します。ランクに差はありません。同順位の場合は同じランクになります。 | V1 | |
指定されたウィンドウ内の平均変化率を返します。 | V1 | |
$setWindowFields ステージ パーティション内のドキュメントの位置(ドキュメント番号と呼ばれる)を返します。同順位の場合は、連番で異なるドキュメント番号になります。 | V1 | |
数値式の指数移動平均を返します。 | V1 | |
V1 | ||
曲線下面積の近似値を返します。 | V1 | |
V1 | ||
Last observation carried forward(LOCF)法。ウィンドウ内の | V1 | |
各ドキュメントに式を適用した結果取得される最大値を返します。 | V1 | |
各ドキュメントに式を適用した結果取得される最小値を返します。 | V1 | |
各ドキュメントに式を適用した結果取得される値の配列を返します。 | V1 | |
$setWindowFields ステージパーティション内の他のドキュメントに対するドキュメントの位置 (ランクと呼ばれる) を返します。 | V1 | |
V1 | ||
各ドキュメントに数値式を適用した結果取得される母標準偏差を返します。 | V1 | |
各ドキュメントに数値式を適用した結果取得される標本標準偏差を返します。 | V1 | |
各ドキュメントに数値式を適用した結果取得される合計を返します。 | V1 |
時系列コレクション
次のセクションでは、時系列コレクションの改善点と新機能について説明します。
シャーディングされた時系列コレクション
MongoDB 5.1 では、シャーディングされた時系列コレクションをサポートしています。
次を参照してください。
更新と削除
MongoDB 5.1 以降、時系列コレクションでは制限付きでアップデート操作と削除操作をサポートしています。
「時系列」列の圧縮
MongoDB 5.2 以降では、時系列コレクションで列圧縮機能を使用できます。この機能には多数のイノベーションが導入されており、これらを組み合わせることで、実用的な圧縮の大幅な改善、ディスク上のデータの全体的ストレージ容量削減、読み取り性能の向上を実現しています。
MongoDB 6.0 以降では、時系列カラムの圧縮の一部として配列も圧縮されます。
サポート $geoNear
MongoDB 5.3 以降では、$geoNear
パイプライン演算子を時系列コレクションの任意のフィールドで使用できます。
追加のセカンダリインデックスのタイプ
時系列コレクションには補足的なセカンダリインデックス タイプ(2dsphere や 2d インデックスなど)を追加できます。
追加のインデックスとその他の改善については、「 MongoDB 6.0 の時系列セカンダリインデックス 」を参照してください。
ソート操作でのセカンダリインデックスの使用
時系列コレクションのソート操作では、パフォーマンスを向上させるためにインデックスを使用することができます。詳細情報と例については、「セカンダリインデックスの使用によるソート パフォーマンスの向上」を参照してください。
全般的な改善
ハッシュされたシャードキーインデックスの削除
MongoDB 6.0.12 (および 5.0.22) 以降、 ハッシュされたシャードキーのインデックスを削除できます。
これにより、ハッシュされたシャードキーでシャーディングされたコレクションのデータ挿入を高速化できます。mongosync
を使用すると、データの取り込みを高速化することもできます。
詳細については、「ハッシュシャードキー インデックスの削除」を参照してください。
OpenSSL3 FIPS のサポート
MongoDB 6.0.7以降、以下のオペレーティング システムの場合、FIPS モードで OpenSSL3 をサポートします。
Ubuntu 22.04
RHEL 9
Amazon Linux 2023
上限付きコレクションの改善点
MongoDB 6.0 以降では、collMod
コマンドを使用して、上限付きコレクションの最大サイズ(バイトまたはドキュメント数単位)を変更できます。詳細については、「上限付きコレクションのサイズ変更」を参照してください。
numOrphanDocs
collStats コマンドに追加されたフィールド
MongoDB 6.0 以降では、collStats 出力に collStats.numOrphanDocs
フィールドが追加されており、コレクション内の孤立したドキュメント数が表示されます。
出力の埋め込みフィールドを除外するserverStatus
MongoDB 6.0(および 5.0.9)以降では、serverStatus
出力から埋め込みフィールドを除外できます。
接続
MongoDB 6.0 以降では、Mongo()
接続オブジェクトに次の新しいメソッドが追加されました。
診断バックトレース生成のサポート開始: arm64
MongoDB 6.0(および 5.0.10)以降では、arm64
での診断バックトレース生成がサポートされています。
キャッシュされた LDAP ユーザー情報の更新間隔の構成
MongoDB 5.2 以降では、次の新しいサーバーパラメーターを使用して、キャッシュされた LDAP ユーザー情報の更新間隔を構成できます。
MongoDB 5.2 以降、LDAP サーバーから取得されたキャッシュ済みユーザー情報の更新間隔は、ldapShouldRefreshUserCacheEntries
に基づきます。
true の場合は
ldapUserCacheRefreshInterval
を使用します。false の場合は
ldapUserCacheInvalidationInterval
を使用します。
互換性に影響する変更
一部の変更は互換性に影響を与える可能性があり、ユーザーのアクションが必要になる場合があります。互換性の変更の詳細なリストについては、「MongoDB 6.0 の互換性の変更」を参照してください。
アップグレード手順
重要
機能の互換性バージョン
MongoDB 5.0 配置から MongoDB 6.0 にアップグレードするには、5.0 配置で featureCompatibilityVersion
を 5.0
に設定する必要があります。バージョンを確認するには、以下を参照してください。
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
MongoDB 6.0 にアップグレードするには、お使いのMongoDB 配置に固有の次のアップグレード手順を参照してください。
6.0 へのアップグレードに関するガイダンスが必要な場合は、MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。詳細については、MongoDB コンサルティングを参照してください。
ダウングレードの検討事項
MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。
たとえば、6.0 シリーズの配置を 5.0 シリーズにダウングレードできます。ただし、5.0 シリーズの配置から 4.4 シリーズの配置へのさらなるダウングレードはサポートされていません。
ダウンロード
MongoDB 6. 0 をダウンロードするには、MongoDB ダウンロードセンターにアクセスします。
既知の問題点
このセクションでは、MongoDB 6.0 の既知の問題とその解決ステータスについて説明します。
バージョン | 問題 | ステータス |
---|---|---|
6.0.0 | SERVER-68062:$geoNear を使用するマルチステージ集計は制約に違反する可能性があります。 | 6.0.1 で解決済み。 |
問題を報告する
問題を報告するには、MongoDB GitHub リポジトリで、MongoDB サーバーまたは関連プロジェクトのいずれかに対して JIRA チケットを提出する手順を参照してください。