参考 > 参考 > mongo Shell方法 > 分片方法 > sh.removeRangeFromZone()
sh.
removeRangeFromZone
(名称空间,最小,最大)¶3.4版的新功能。
删除分片键值范围和zone之间的关联 。
sh.removeRangeFromZone()
接受以下参数:
参数 | 类型 | 描述 |
---|---|---|
namespace |
串 | 分片集合的命名空间,用于与区域关联。 必须将收集分片,操作才能成功。 |
minimum |
文献 | 分片键值范围的下限值。 以形式指定分片键的每个字段。该值必须与分片键具有相同的BSON类型。 |
maximum |
文献 | 分片键值范围的排他上限。 以形式指定分片键的每个字段。该值必须与分片键具有相同的BSON类型。 |
使用sh.removeRangeFromZone()
删除未使用之间的关联,过时或相互冲突的范围和区域。
如果没有范围与传递给的最小和最大范围匹配
removeShardFromZone()
,则不会删除任何内容。
仅sh.removeTagRange()
在连接到mongos
实例时
发出。
sh.removeShardFromZone()
不会删除与指定范围关联的区域。
有关分片群集中区域的更多信息,请参见区域手册页。
删除范围和区域之间的关联会删除约束,使该区域内的分片上的范围内的块保持覆盖。在下一轮平衡器期间,平衡器可以迁移该区域先前覆盖的块。
有关迁移如何在分片群集中工作的更多信息,请参见分片群集平衡器的文档。
对于以身份验证运行的分片群集,您必须以以下任一身份进行身份验证:
具有特权的用户包括对config
数据库中各种集合的指定操作的用户:
或者
特权包含enableSharding
在群集资源上的
用户(从版本4.2.2、4.0.14、3.6.16开始可用)。
在clusterAdmin
或clusterManager
内置角色有发放相应的权限sh.removeRangeFromZone()
。有关更多信息,请参见基于角色的访问控制的文档页面。
给定分片exampledb.collection
键为的分片集合,以下操作将删除范围为下限
和上限为的范围:{ a
: 1 }
1
10
在min
和max
必须在目标范围内的完全范围一致。以下操作尝试删除先前创建的范围,但将其指定为界限:{ a : 0 }
min
虽然的范围为,但包含现有范围,但这不是完全匹配,因此
不会删除任何内容。{ a : 0 }
{ a : 10 }
sh.removeRangeFromZone()
给定分片exampledb.collection
键为的分片
集合,以下操作将删除范围为下限和上限为的范围:{ a : 1, b : 1 }
{ a : 1, b : 1}
{ a : 10, b : 10 }
在前面的示例中,如果存在一个范围为下限和上限为的范围,则该操作不会删除该范围,因为它不是传递给的最小值和最大值的精确匹配。{ a : 1, b : 5 }
{ a : 10, b : 1 }
sh.removeRangeFromZone()