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

refineCollectionShardKey 事件

在本页

  • 摘要
  • 描述
  • 示例
refineCollectionShardKey

版本6.0.

当集合的分片键被修改时,会触发一个 refineCollectionShardKey 事件。

字段
类型
描述
_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.

ns
文档

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

ns.coll
字符串

事件发生时发生的集合的名称。

ns.db
字符串

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

operationDescription
文档

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

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

版本6.0.

operationDescription.
shardKey
文档

发生更改的集合的 分片键

版本6.0.

operationDescription.
oldShardKey
文档

更改的集合的 分片键

版本6.1.

以下示例显示了 refineCollectionShardKey 事件

{
"_id": { <ResumeToken> },
"operationType": "refineCollectionShardKey",
"clusterTime": Timestamp({ t: 1654894852, i: 52 }),
"collectionUUID": UUID("98046a1a-b649-4e5b-9c75-67594221ce19"),
"ns": {"db": "reshard_collection_event", "coll": "coll"},
"operationDescription": {
"shardKey": {"_id": 1, akey: 1},
"oldShardKey": {"_id": 1}
}
}

返回

修改