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

停止移动集合

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

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

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

1

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

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' } ]