对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

无效事件

invalidate

当操作将变更流渲染为无效时发生 invalidate 事件。例如,在后来被删除或重命名的集合上打开的变更流将导致 invalidate 事件。

字段
类型
说明

_id

文档

一个BSON对象,用作变更流事件的标识符。恢复变更流时,此值用作 resumeAfter 参数的 resumeToken_id对象中的字段取决于MongoDB版本,在某些情况下,还取决于变更流打开或恢复时的特征兼容性版本(FCV)

有关通过 resumeToken 恢复变更流的示例,请参阅恢复变更流

clusterTime

时间戳

clusterTime 是来自与该事件关联的oplog条目的时间戳。

由于oplog大小限制,多文档事务可能会创建多个oplog条目。在ACID 事务中,给定oplog条目中暂存的变更流事件股票相同的 clusterTime

在分片集群上,具有相同 clusterTime 的事件不一定都与同一事务有关。有些事件与事务完全无关。

要标识单个事务的事件,您可以在变更流事件文档中结合使用 lsidtxnNumber

operationType

字符串

变更通知报告的操作类型。

为这些变更事件返回 invalidate 值。

wallTime

数据库操作的服务器日期和时间。wallTimeclusterTime 的不同之处在于,clusterTime 是从与数据库操作事件相关的 oplog 条目中提取的时间戳。

6.0版本新增。:

以下示例说明了 invalidate 事件:

{
"_id": { <Resume Token> },
"operationType": "invalidate",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>
}

当发生影响受监视集合的删除重命名dropDatabase 操作时,在集合上打开的变更流会引发 invalidate 事件。

当发生影响受监视数据库的 dropDatabase 事件时,在数据库上打开的变更流会引发 invalidate 事件。

invalidate 事件关闭变更流游标。

在某一无效事件(例如,集合删除或重命名)关闭变更流后,您无法使用 resumeAfter 来恢复变更流。请改为使用 startAfter无效事件后启动新的变更流。

在此页面上