Docs 菜单
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 驱动程序文档。

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

Parameter
类型
说明

namespace

字符串

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

query

文档

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

destination

字符串

要移动的分片的名称。

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

提示

另请参阅:

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

重要

M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。

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

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

后退

sh.isBalancerRunning

在此页面上