Docs 菜单

sh.moveRange()

sh.moveRange(namespace, toShard, min, max)

6.0 版本中的新功能

在分片之间移动 个范围。

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 moveRange 命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

此命令可用于以下环境中托管的部署:

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

sh.moveRange(namespace, toShard, min, max)

sh.moveRange() 方法采用以下参数:

Parameter
类型
说明

namespace

字符串

设置要移动范围的数据库和集合。

toShard

字符串

设置用于接收范围的分片的ID 。

min

文档

要移动范围的最小键。

max

文档

要移动范围的最大键。

以下示例使用具有以下内容的集合:

  • 分片键 postal,表示邮政编码。

  • 范围为 7000770124 的范围。

要将邮政范围移至 shard02,运行以下方法:

sh.moveRange(
"contacts.addresses", "shard02",
{ postal: 70007 },
{ postal: 70124 }
)
{
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1742507819, i: 42 }),
signature: {
hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),
keyId: Long('0')
}
},
operationTime: Timestamp({ t: 1742507819, i: 42 })
}