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

shardCollection 事件

shardCollection

对collection进行分片时会发生shardCollection事件。

字段
类型
说明

_id

文档

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

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

clusterTime

时间戳

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

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

具有相同clusterTime的事件可能并不都与同一ACID 事务相关。 有些事件与ACID 事务完全无关。 从MongoDB 8.0开始,任何部署上的事件都可能如此。 在以前的版本中,这种行为只适用于分分片集群上的事件。

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

在版本8.0中进行了更改。:

collectionUUID

UUID

标识发生更改的集合的 UUID

6.0版本新增。:

lsid

文档

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

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

ns

文档

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

ns.coll

字符串

发生事件的集合的名称。

ns.db

字符串

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

operationDescription

文档

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

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

6.0版本新增。:

operationDescription.
presplitHashedZones

布尔

指示当collection成为分片时,是否根据zones对数据块进行预split

6.0版本新增。:

operationDescription.
shardKey

文档

发生更改的collection的分片键

6.0版本新增。:

operationDescription.
unique

布尔

如果使用唯一的分片键对collection进行分片,则其值为 true。

6.0版本新增。:

operationType

字符串

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

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

txnNumber

NumberLong

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

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

wallTime

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

6.0版本新增。:

以下示例说明了 shardCollection 事件:

{
"_id": { <ResumeToken> },
"operationType": "shardCollection",
"clusterTime": Timestamp({ t: 1654894852, i: 52 }),
"collectionUUID": UUID("98046a1a-b649-4e5b-9c75-67594221ce19"),
"wallTime": ISODate("2022-06-10T21:00:52.854Z"),
"ns": {
"db": "test",
"coll": "authors"
},
"operationDescription": {
"shardKey": { "age": "hashed" },
"unique": false,
"presplitHashedZones": false
}
}

在此页面上