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