对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

sh.removeShardFromZone()(mongosh方法)

sh.removeShardFromZone(shard, zone)

删除区域和分片之间的关联。

重要

mongosh 方法

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

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

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

此方法具有以下参数:

Parameter
类型
说明

字符串

要从中删除区域关联的分片的名称。

字符串

与要删除的分片关联的区域的名称。

仅在连接到 实例时发出sh.removeShardFromZone() mongos

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

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

重要

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

sh.removeShardFromZone() 不会删除与区域关联的范围。

要从集群中完全删除区域,您必须在与该区域关联的每个分片上运行sh.removeShardFromZone()

如果指定的分片是与该区域关联的最后一个分片,则必须确保没有与该区域关联的剩余范围。 updateZoneKeyRange在运行sh.removeShardFromZone() 之前,使用 删除与区域关联的任何现有范围。

有关分片集群中区域的更多信息,请参阅区域手册页面。

删除区域和分片之间的关联会删除在分片上保持该区域覆盖数据块的约束。在下一个负载均衡器回合中,负载均衡器可能会迁移该区域之前覆盖的数据块。

有关迁移如何在分片集群中工作的更多信息,请参阅分片集群负载均衡器手册页面。

对于强制执行访问控制的分片集群,您必须通过以下方式之一进行身份验证:

  • 权限包括以下内容的用户:

    • 针对updateconfig数据库的shardscollection,以及

    • 针对find config数据库中的tagscollection的 ;

    或者,

  • 权限包括对enableSharding 集群 资源的 的用户。

clusterAdminclusterManager内置角色具有发出sh.removeShardFromZone()的适当权限。 有关更多信息,请参阅基于角色的访问控制手册页。

以下示例删除shard0000NYC区域之间的关联:

sh.removeShardFromZone("shard0000", "NYC")