定义
sh.moveRange(namespace, toShard, min, max)6.0版本新增。
重要
mongosh 方法
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.有关数据库命令,请参阅
moveRange命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
兼容性
此命令可用于以下环境中托管的部署:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
注意
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
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 }) }