参考 > 参考 > mongo Shell方法 > 分片方法 > sh.addTagRange()
sh.
addTagRange
(名称空间,最小,最大,标记)¶在版本3.4中更改:此方法sh.updateZoneKeyRange()
在MongoDB 3.4中为别名。以下指定的功能仍适用于MongoDB 3.2。MongoDB 3.4提供了区域分片作为标记感知分片的后继产品。
将一定范围的分片键值附加到使用该sh.addShardTag()
方法创建的分片标签上
。
在MongoDB中4.0.2开始,您可以运行
updateZoneKeyRange
数据库命令及其助手
sh.updateZoneKeyRange()
和sh.addTagRange()
上unsharded集合或不存在的集合。
sh.addTagRange()
接受以下参数:
参数 | 类型 | 描述 |
---|---|---|
namespace |
串 | 要标记的分片集合的名称空间。 |
minimum |
文献 | 标签中包含的分片键范围的最小值。最低限度是包容性匹配。以形式指定最小值<fieldname>:<value> 。此值必须与分片键具有相同的BSON类型。 |
maximum |
文献 | 标签中包含的分片键范围的最大值。最大值是互斥匹配。以形式指定最大值<fieldname>:<value> 。此值必须与分片键具有相同的BSON类型。 |
tag |
串 | 附加由minimum
和maximum 参数指定的范围的标签名称。 |
使用sh.addShardTag()
以确保存在指定的范围内,以特定的碎片或碎片的集合,平衡器的迁移文件。
仅sh.addTagRange()
在连接到mongos
实例时
发出。
区域范围始终包括下边界,不包括上边界。
在MongoDB中4.0.2开始,您可以运行
updateZoneKeyRange
数据库命令及其助手
sh.updateZoneKeyRange()
和sh.addTagRange()
上unsharded集合或不存在的集合。
小费
在版本4.0.3中更改:通过在分片一个空的或不存在的集合之前定义区域和区域范围,分片收集操作将为定义的区域范围以及所有其他覆盖整个区域范围的块创建块。分片键值,并根据区域范围执行初始块分配。块的这种初始创建和分配允许更快地设置分区分片。在初始分配之后,平衡器将管理后续的块分配。
有关示例,请参见为空集合或不存在的集合预定义区域和区域范围。
从MongoDB 4.0.2开始,删除集合将删除其关联的区域/标签范围。
在早期版本中,MongoDB不会删除已删除集合的标签关联,并且如果您以后创建具有相同名称的新集合,则旧标签关联将应用于新集合。
给定一个shard key ,以下操作将创建一个覆盖纽约州邮政编码的标签范围:{state: 1, zip: 1}