sh.moveRange()
定义
sh.moveRange(namespace, toShard, min, max)
6.0 版本中的新功能。
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
moveRange
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
sh.moveRange(namespace, toShard, min, max)
sh.moveRange()
方法采用以下参数:
Parameter | 类型 | 说明 |
---|---|---|
| 字符串 | 设置要移动范围的数据库和集合。 |
| 字符串 | 设置用于接收范围的分片的ID 。 |
| 文档 | 要移动范围的最小键。 |
| 文档 | 要移动范围的最大键。 |
例子
以下示例使用具有以下内容的集合:
分片键
postal
,表示邮政编码。范围为
70007
和70124
的范围。
要将邮政范围移至 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 }) }