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

停止移动集合

您可以使用abortMoveCollection命令停止移动未分片的集合。

要停止正在进行的moveCollection操作,请对admin数据库运行abortMoveCollection命令。

如果您的部署启用了访问权限控制,则enableSharding角色允许您运行abortMoveCollection命令。

1

要停止移动集合,请运行abortMoveCollection命令。 以下示例停止正在进行的app.inventory集合从shard01到shard02的移动。

db.adminCommand( { abortMoveCollection: "app.inventory"} )

运行abortMoveCollection命令后,命令输出将返回ok: 1 ,如下所示:

{ ok: 1, '$clusterTime': { clusterTime: Timestamp( { t: 1726524884, i: 28 } ), signature: { hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0), keyId: Long('0') } }, operationTime: Timestamp({ t: 1726524884, i: 28 })}
2

要确认集合没有移动到新分分片,请使用$collStats管道阶段。

以下示例展示如何确认app.inventory集合仍在同一分片上:

db.inventory.aggregate( [ { $collStats: {} }, { $project: { "shard": 1 } }] )

此管道阶段的输出类似于以下内容:

[ { shard: 'shard01' } ]