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

rename 事件

本页内容

  • 摘要
  • 描述
  • 行为
  • 扩展事件信息
  • 示例
rename

当集合被重命名时,将发生一个 rename 事件。

字段
类型
描述
_id
文档

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

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

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

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

clusterTime
时间戳

clusterTime 是与事件相关联的操作日志条目的时间戳。

由于操作日志大小限制,多文档事务可能会创建多个操作日志条目。在一个事务中,给定操作日志条目中的更改流事件共享相同的clusterTime

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

要识别单个事务的事件,您可以在更改流事件文档中使用lsidtxnNumber的组合。

已更改版本8.0.

collectionUUID
UUID

UUID,标识发生更改的集合。

版本6.0.

lsid
文档

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

仅在操作是多文档事务的一部分时才存在。

ns
文档

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

ns.db
字符串

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

ns.coll
字符串

事件发生的集合的名称。

operationDescription
文档

关于更改操作的其他信息。

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

版本6.0.

operationDescription.
dropTarget
UUID

UUID,标识重命名操作中删除的集合。

版本6.0.

operationDescription.
to
文档

重命名后集合的新名字空间。

版本6.0.

operationDescription.
to.coll
文档

重命名后集合的新名称。

版本6.0.

operationDescription.
to.db
文档

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

版本6.0.

operationType
字符串

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

对于这些更改事件,返回值为rename

to
文档

重命名后集合的新名字空间。

to.coll
文档

重命名后集合的新名称。

to.db
文档

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

txnNumber
NumberLong

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

仅在操作是多文档事务的一部分时才存在。

wallTime

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

版本6.0.

已更改版本6.0.

从MongoDB 6.0版本开始,当更改流的showExpandedEvents选项设置为true时,rename事件将包含一个operationDescription文档。该文档提供了一个显示更改的数据库和集合的to字段,以及一个指示在重命名操作中是否删除了集合的dropTarget字段。

以下示例说明了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事件会导致对其ns集合或to集合打开的更改流的invalidate事件。

返回

refineCollectionShardKey