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

removeShardFromZone

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 行为
  • 例子
removeShardFromZone

removeShardFromZone管理命令删除分片与区域之间的分片。

提示

mongosh 中,该命令也可通过 sh.removeShardFromZone() 辅助方法运行。

辅助方法对 mongosh 用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

此命令可用于以下环境中托管的部署:

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

重要

无服务器实例不支持此命令。 有关更多信息,请参阅不支持的命令。

您只能从removeShardFromZone 实例的 数据库上运行admin mongos

该命令具有以下语法:

db.adminCommand(
{
removeShardFromZone: <string>,
zone: <string>
}
)

该命令接受以下字段:

字段
类型
说明
字符串

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

字符串

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

mongosh提供了辅助方法sh.removeShardFromZone()

removeShardFromZone 不会删除与区域关联的范围。

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

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

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

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

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

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

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

    或者,或者,

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

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

以下示例删除shard0000和区域NYC之间的关联:

db.adminCommand( { removeShardFromZone : "shard0000" , zone : "NYC" } )

后退

removeShard