Docs 主页 → 开发应用程序 → MongoDB Manual
sh.moveChunk()
定义
sh.moveChunk(namespace, query, destination)
将包含
query
指定的文档的数据段移动到{destination
分片。sh.moveChunk()
提供了moveChunk
数据库命令的包装器。重要
在大多数情况下,允许负载均衡器自动迁移数据段,并避免直接调用
sh.moveChunk()
。重要
mongosh 方法
本页介绍了
mongosh
方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。有关数据库命令,请参阅
moveChunk
命令。对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。
对于传统
mongo
Shell 文档,请参阅相应 MongoDB Server 版本的文档:sh.moveChunk()
采用以下参数:范围类型说明namespace
字符串包含要迁移的数据块的分片collection的命名空间。query
文档选择要移动的数据块的分片键的等值匹配。destination
字符串要移动的分片的名称。默认,如果数据块中的文档数量大于1 ,则 MongoDB 无法移动该数据块。 3乘以配置的数据块大小除以平均文档大小所得的结果。
moveChunk
命令可以指定forceJumbo选项,以允许手动迁移太大而无法移动的数据块,无论带或不带jumbo标签。有关详细信息,请参阅moveChunk命令。
例子
给定records
数据库中的people
collection,以下操作查找包含zipcode
字段设置为53187
的文档的数据块,然后将该数据块移动到名为shard0019
的分片:
sh.moveChunk("records.people", { zipcode: "53187" }, "shard0019")