Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

停止移动集合

在此页面上

  • 关于此任务
  • 访问控制
  • 步骤
  • 了解详情

您可以使用 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' } ]

后退

具有可移动集合的多租户架构