changeStreamOptions
定義
構文
配置用に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 } } } } )