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

reshardCollection 事件

本页内容

  • 摘要
  • 描述
  • 示例
reshardCollection

新功能版本中6.1: (也适用于6.0.14版本)

当以下条件满足时,将发生 reshardCollection 事件:

  • 集合的分片键和数据分布发生更改,并且

  • 更改流具有showExpandedEvents 设置为 true

字段
类型
描述
_id
文档

一个作为更改流事件标识符的 BSON 对象。该值用作恢复更改流时 resumeAfter 参数的 resumeToken。该 _id 对象具有以下形式

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

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

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

clusterTime
时间戳

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

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

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

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

更改版本中8.0.

collectionUUID
UUID

UUID 识别发生更改的集合。

新功能版本中6.0.

ns
文档

受事件影响的作用域(数据库和/或集合)。

ns.coll
字符串

事件发生的集合名称。

ns.db
字符串

事件发生的数据库名称。

operationDescription
文档

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

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

新功能版本中6.0.

operationDescription.
reshardUUID
UUID

UUID 识别重新分片操作。

新功能版本中6.1.

operationDescription. | shardKey
文档

发生更改的集合的 分片键

新功能版本中6.0.

operationDescription. | oldShardKey
文档

已更改的集合的 分片键

新功能版本中6.1.

operationDescription. | unique
布尔值

如果集合使用唯一分片键进行分片,则此值为 true。

新功能版本中6.0.

operationDescription. | numInitialChunks
NumberLong

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

新功能版本中6.0.

operationDescription.
collation
文档

校对 文档用于分片键索引。

新功能版本中6.1.

operationDescription.
zones
数组

为新的分片键添加的区域。

新功能版本中6.1.

以下示例展示了 reshardCollection 事件

{
"_id": { <ResumeToken> },
"operationType": "reshardCollection",
"collectionUUID": 0,
"ns": {"db": "reshard_collection_event", "coll": "coll"},
"operationDescription": {
"reshardUUID": 0,
"shardKey": {"newKey": 1},
"oldShardKey": {"_id": 1},
"unique": false,
"numInitialChunks": NumberLong(1),
"collation": {"locale": "simple"},
"zones": [
{"zone": "zone1", "min": {"newKey": {"$minKey": 1}}, "max": {"newKey": {"$maxKey": 1}}}
]
}
}

返回

replace

本页内容