removeShardFromZone
定义
removeShardFromZone该
removeShardFromZone管理命令移除了分片和区域之间的关联区域.提示
在
mongosh中,此命令也可以通过sh.removeShardFromZone()辅助方法运行.辅助方法对
mongosh用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便或需要额外的返回字段的情况下,请使用数据库命令。
兼容性
此命令在以下环境中托管的服务器上可用
MongoDB Atlas:云中MongoDB部署的完全托管服务
重要
此命令不支持在无服务器实例上运行。有关更多信息,请参阅不支持命令。
MongoDB Enterprise:基于订阅、自主管理的MongoDB版本
MongoDB Community:源代码可用、免费使用并自主管理的MongoDB版本
语法
您只能在从mongos实例中运行admin数据库上的removeShardFromZone。
该命令有以下语法
db.adminCommand( { removeShardFromZone: <string>, zone: <string> } )
命令字段
该命令包含以下字段
mongosh提供了辅助方法sh.removeShardFromZone()。
行为
removeShardFromZone 不会删除与区域相关的范围。
要完全从集群中删除区域,必须在每个与区域相关的分片上运行 removeShardFromZone。
如果指定的分片是该区域关联的最后一个分片,则必须确保没有与区域关联的剩余分片键范围。在运行 removeShardFromZone. 之前,使用 updateZoneKeyRange 删除与区域关联的所有现有范围。
有关分片集群中区域的信息,请参阅 区域 手册页面。
安全
对于强制执行 访问控制 的分片集群,您必须以以下用户身份进行身份验证:
具有以下权限的用户
或者,作为具有以下权限的用户
enableSharding权限的 集群 资源。
具有适当权限执行 clusterAdmin 或 clusterManager 内置角色的用户可以执行 removeShardFromZone 命令。更多详细信息请参阅基于角色的访问控制手册页面。
示例
以下示例演示了如何删除 shard0000 与区域 NYC 之间的关联
db.adminCommand( { removeShardFromZone : "shard0000" , zone : "NYC" } )