changeStreamOptions
定义
changeStreamOptions
6.0 版本中的新功能。
包含change stream配置选项的对象。
您只能在
mongos
或副本集主节点上设置changeStreamOptions
。 该值在集群范围内设置。
语法
要为部署设置changeStreamOptions
,请对admin
数据库运行以下命令:
db.adminCommand( { setClusterParameter: { changeStreamOptions: <value> } } )
要查看changeStreamOptions
集群参数的当前值,请对admin
数据库运行以下命令:
db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
参数字段
changeStreamOptions.preAndPostImages.expireAfterSeconds
6.0 版本中的新功能。
默认:关闭
控制change stream帖子和前映像的保留策略。前像和帖子像分别是文档修改之前和之后的文档版本。
expireAfterSeconds
控制 MongoDB 保留前像和帖子的时间。当
expireAfterSeconds
为off
时,可使用默认保留策略:将保留前像和后像,直到从 oplog 中删除对应的变更流事件。要设置前像和帖子像的最短保留时间,请为
expireAfterSeconds
指定一个整数值。重要
使用变更流的服务(包括触发器和Device Sync )可能依赖于前映像数据的可用性。 如果设立
expireAfterSeconds
设置得太低,可能会增加同步或触发器处理中断的风险。为前像设置
expireAfterSeconds
时,请确保:指定一个不低于服务的典型变更流延迟的值。
添加缓冲时间,以允许在oplog数据丢失之前手动恢复服务。
行为
如果从 oplog 中删除变更流事件,则无论changeStreamOptions.preAndPostImages.expireAfterSeconds
指定的保留时间如何,相应的前映像和后映像也会被删除。
例子
以下示例将change stream中前像和帖子的保留时间设置为100
秒:
db.runCommand( { setClusterParameter: { changeStreamOptions: { preAndPostImages: { expireAfterSeconds: 100 } } } } )