Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

sh.setBalancerState()

在此页面上

  • 说明
  • 兼容性
  • 了解详情
sh.setBalancerState(state)

启用或禁用负载均衡器。

从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。有关详细信息,请参阅均衡策略变更

在 6.0.3 之前的MongoDB版本中,sh.setBalancerState()还可以在启用负载均衡器的情况下启用自动分割,在禁用负载负载均衡器的情况下禁用自动分割。

使用sh.getBalancerState()确定负载均衡器当前是启用还是禁用,然后使用sh.isBalancerRunning()检查其当前状态。

重要

mongosh 方法

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

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

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

重要

您只能在 实例上运行sh.setBalancerState() mongossh.setBalancerState()如果在mongod 实例上运行,则会出现 错误。

sh.setBalancerState() 方法具有以下参数:

Parameter
类型
说明

state

布尔

将其设置为true可启用负载均衡器,设置为false可禁用负载均衡器。

长时间禁用负载负载均衡器可能会导致分片失衡,从而降低集群性能。 仅在必要时禁用负载均衡器,并确保在维护完成后重新启用负载均衡器。

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

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

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

后退

sh.reshardCollection