Docs 菜单

sh.moveChunk()

在此页面上

sh.moveChunk(namespace, query, destination)

将包含query数据块的文档的数据段移动到destination分分片。 sh.moveChunk()提供了moveChunk数据库命令的包装器。

重要

在大多数情况下,允许负载均衡器自动迁移数据段,并避免直接调用sh.moveChunk()

警告

此命令不能用于哈希分片键,因为它使用moveChunk命令中的find选项。 要移动带有哈希分片键的数据块,请使用moveChunk命令并指定bounds字段。

重要

mongosh 方法

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

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

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

sh.moveChunk() 采用以下参数:

Parameter
类型
说明

namespace

字符串

包含要迁移的数据块的分片collection的命名空间

query

文档

选择要移动的数据块的分片键的等值匹配。

destination

字符串

要移动的分片的名称。

默认,如果数据段中的数据块数据块大于配置的数据段数据块除以平均文档大小所得结果的2倍,则MongoDB无法移动该数据段。 moveChunk命令可以指定forceJumbo选项,以允许手动迁移太大而无法移动的数据段,无论是否带有jumbo标签。 有关详细信息,请参阅moveChunk命令。

此方法可用于以下环境中托管的部署:

重要

M0 、M2 、M5 和 Flex 集群不支持此命令。有关更多信息,请参阅不支持的命令。

给定records数据库中的peoplecollection,以下操作查找包含zipcode字段设置为53187的文档的数据块,然后将该数据块移动到名为shard0019的分片:

sh.moveChunk("records.people", { zipcode: "53187" }, "shard0019")

在此页面上