Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

modify 事件

在此页面上

  • 总结
  • 说明
  • 例子
modify

6.0 版本中的新功能

修改集合时会发生modify事件,例如当 collMod命令在集合或视图中添加或删除选项时。 仅当变更流将showExpandedEvents选项设立为true时才会收到此事件。

注意

消歧

要了解有关更新单个文档时发生的事件的更多信息,请参阅 update 事件。

字段
类型
说明

_id

文档

一个 BSON 对象,用作变更流事件的标识符。恢复变更流时,此值用作 resumeAfter 参数的 resumeToken_id 对象具有以下形式:

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

_data类型取决于MongoDB版本,在某些情况下,还取决于变更流打开或恢复时的特征兼容性版本(FCV)。有关 _data类型的完整列表,请参阅恢复令牌。

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

clusterTime

时间戳

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

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

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

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

collectionUUID

UUID

如果更改发生在集合上,则collectionUUID 表示该集合的 UUID。如果更改发生在视图上,则 collectionUUID 不存在。

6.0 版本中的新功能

lsid

文档

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

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

ns

文档

受事件影响的命名空间(数据库和/或集合)。

ns.db

字符串

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

ns.coll

字符串

发生事件的集合的名称。

operationDescription

文档

有关变更操作的其他信息。

仅当变更流使用扩展事件时,此文档及其子字段才会出现。

6.0 版本中的新功能

operationDescription.
index

文档

已修改的索引。

6.0 版本中的新功能

operationDescription.
indexes

阵列

一组文档,用于列出操作所更改的索引。

operationType

字符串

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

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

stateBeforeChange

文档

文档显示操作更改之前的集合和索引选项。

stateBeforeChange.
collectionOptions

文档

文档显示操作更改之前的收集选项。

stateBeforeChange.
indexOptions

文档

文档显示操作改变之前的索引选项。

txnNumber

NumberLong

lsid 一起使用的数字,有助于唯一标识事务。

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

wallTime

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

6.0 版本中的新功能

以下示例说明了 modify 事件:

{
"_id": { <ResumeToken> },
"operationType": "modify",
"clusterTime": Timestamp({ t: 1654878543, i: 1 }),
"collectionUUID": UUID("47d6baac-eeaa-488b-98ae-893f3abaaf25"),
"wallTime": ISODate("2022-06-10T16:29:03.704Z"),
"ns": {
"db": "test",
"coll": "authors" },
"operationDescription": {
"index": {
"name": "age_1",
"hidden": true
}
},
"stateBeforeChange": {
"collectionOptions": {
"uuid": UUID("47d6baac-eeaa-488b-98ae-893f3abaaf25")
},
"indexOptions": {
"hidden": false
}
}
}

后退

invalidate

在此页面上