文档菜单
文档首页
/
MongoDB 手册
/ /

丢弃事件

在本页

  • 概述
  • 描述
  • 示例
drop

当从数据库中删除集合时,会触发一个 drop 事件。

字段
类型
描述
_id
文档

ABSON 对象,用作更改流事件的标识符。此值用于在恢复更改流时作为 resumeAfter 参数的 resumeToken。该 _id 对象具有以下形式

{
"_data" : <BinData|hex string>
}

《_data》类型取决于MongoDB版本,在某些情况下,还取决于变更流打开或恢复时的时间点的功能兼容版本(fCV)。有关《_data》类型的完整列表,请参阅恢复令牌

有关使用《resumeToken》恢复变更流的示例,请参阅恢复变更流

clusterTime
时间戳

《clusterTime》是事件相关oplog条目的时间戳。

由于oplog大小限制,多文档事务可能会创建多个oplog条目。在事务中,给定oplog条目中排队的变更流事件共享相同的《clusterTime》。

具有相同《clusterTime》的事件可能不都与同一事务相关。有些事件根本不与事务相关。从MongoDB 8.0版本开始,这种情况可能适用于任何部署的事件。在早期版本中,这种行为仅适用于分片集群的事件。

要识别单个事务的事件,您可以在变更流事件文档中使用《lsid》和《txnNumber》的组合。

已更改的版本8.0.

collectionUUID
UUID

如果更改发生在集合上,则《collectionUUID》指示集合的UUID。如果更改发生在视图中,则《collectionUUID》不存在。

的版本6.0.

lsid
文档

与事务关联的会话的标识符。

仅当操作是多文档事务的一部分时才出现。

ns
文档

受事件影响的作用域(数据库和/或集合)。

ns.coll
字符串

事件发生时发生的集合的名称。

ns.db
字符串

事件发生时发生的数据库的名称。

operationType
字符串

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

对于这些变更事件,返回值为《drop》。

txnNumber
NumberLong

lsid一起,这是一个帮助唯一标识事务的数字。

仅当操作是多文档事务的一部分时才出现。

wallTime

数据库操作的服务器日期和时间。《wallTime》与《clusterTime》不同,因为《clusterTime》是从数据库操作事件相关的oplog条目中获取的时间戳。

的版本6.0.

以下示例演示了《drop》事件。

{
"_id": { <Resume Token> },
"operationType": "drop",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>,
"ns": {
"db": "engineering",
"coll": "users"
}
}

一个 drop 事件会导致对其自身 ns 集合打开的更改流触发一个 invalidate 事件。

返回

删除