Docs 菜单

Docs 主页开发应用程序MongoDB Manual

rename 事件

在此页面上

  • 总结
  • 说明
  • 行为
  • 扩展事件信息
  • 例子
rename

4.0.1 版本中的新增功能

重命名collection时会发生rename事件。

字段
类型
说明
_id
文档

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

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

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

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

clusterTime
时间戳

与事件相关的 oplog 条目中的时间戳。

多文档事务相关的变更流事件通知都具有相同的 clusterTime 值:提交事务的时间。

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

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

4.0 版本中的新功能

collectionUUID
UUID

标识发生更改的集合的 UUID

6.0 版本中的新功能

lsid
文档

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

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

4.0 版本中的新功能

ns
文档

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

ns.db
字符串

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

ns.coll
字符串

发生事件的集合的名称。

operationDescription
文档

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

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

6.0 版本中的新功能

operationDescription.
dropTarget
UUID

在重命名操作中删除的collection的UUID

6.0 版本中的新功能

operationDescription.
to
文档

重命名后collection的新命名空间。

6.0 版本中的新功能

operationDescription.
to.coll
文档

重命名后collection的新名称。

6.0 版本中的新功能

operationDescription.
to.db
文档

重命名后数据库的新名称。

6.0 版本中的新功能

operationType
字符串

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

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

to
文档

重命名后collection的新命名空间。

to.coll
文档

重命名后collection的新名称。

to.db
文档

重命名后数据库的新名称。

txnNumber
NumberLong

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

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

4.0 版本中的新功能

wallTime

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

6.0 版本中的新功能

在 6.0 版本中进行了更改

从 MongoDB 6.0 开始,当 change stream 的showExpandedEvents选项设置为true时, rename事件包括operationDescription文档。 此文档提供了一个to字段(显示更改后的数据库和collection)和一个dropTarget字段(指示rename操作是否在重命名之前删除了collection)。

以下示例说明了 rename 事件:

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

rename事件会导致针对其nscollection或tocollection打开的change stream发生事件

← 细化CollectionShardKey事件