定義
構文
配置用にchangeStreamOptionsを設定するには、 adminデータベースで次のコマンドを実行します。
db.adminCommand( { setClusterParameter: { changeStreamOptions: <value> } } )
changeStreamOptionsクラスター パラメータの現在の値を表示するには、 adminデータベースで次のコマンドを実行します。
db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
パラメーター フィールド
changeStreamOptions.preAndPostImages.expireAfterSecondsバージョン 6.0 で追加。
デフォルト: オフ
変更ストリームの変更前と変更後のイメージの保持ポリシーを制御します。 変更前と変更後のイメージは、それぞれドキュメント変更前と変更後のドキュメントのバージョンです。
expireAfterSecondsは、MongoDB が変更前と変更後のイメージを保持する期間を制御します。expireAfterSecondsがoffの場合、MongoDB はデフォルトの保持ポリシーを使用します。対応する変更ストリーム イベントがoplog から削除されるまで、変更前と変更後のイメージは保持されます。変更前と変更後のイメージの最小保持時間を設定するには、
expireAfterSecondsの整数値を指定します。重要
triggerやDevice Syncを含む変更ストリームを使用するサービスは、変更前のイメージ データの可用性に依存する可能性があります。
expireAfterSecondsの設定が低すぎると、同期や trigger の処理が中断されるリスクが高まります。変更前イメージに
expireAfterSecondsを設定する場合は、以下を確認します。サービスの通常の変更ストリームの遅延よりも小さくない値を指定します。
oplogデータが失われるリスクを負うことなく、サービスが手動で再開できるようにバッファ時間を追加します。
動作
変更ストリーム イベントが oplog から削除されると、 changeStreamOptions.preAndPostImages.expireAfterSecondsで指定された保持期間にかかわらず、対応する変更前と変更後のイメージも削除されます。
例
次の例では、変更ストリーム内の変更前と変更後のイメージの保持時間を100秒に設定します。
db.runCommand( { setClusterParameter: { changeStreamOptions: { preAndPostImages: { expireAfterSeconds: 100 } } } } )