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

shardCollection 事件

本页内容

  • 摘要
  • 描述
  • 示例
shardCollection

版本6.0.

当集合被分片时,会发生一个 shardCollection 事件。

字段
类型
描述
_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开始,这种情况可能适用于任何部署的事件。在之前的版本中,这种行为仅适用于分片集群的事件。

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

已更改版本8.0.

collectionUUID
UUID

UUID用于标识发生更改的集合。

版本6.0.

lsid
文档

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

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

ns
文档

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

ns.coll
字符串

事件发生的集合名称。

ns.db
字符串

事件发生的数据库名称。

operationDescription
文档

关于更改操作的附加信息。

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

版本6.0.

operationDescription.
numInitialChunks
长整型

shardCollection操作期间,每个分片创建的块的数量。

版本6.0.

operationDescription.
presplitHashedZones
布尔型

表示当集合成为分片时,分片块是否已根据区域预先分割

版本6.0.

operationDescription.
shardKey
文档

发生更改的集合的分片键

版本6.0.

operationDescription.
unique
布尔型

如果集合使用唯一分片键进行分片,则此值将为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,
"numInitialChunks": Long("0"),
"presplitHashedZones": false
}
}

返回

reshardCollection

本页内容