On this page
sh.addTagRange()
在本页面
Definition
sh.
addTagRange
(* namespace , minimum , maximum , tag *)- 在版本 3.4 中更改:此方法在 MongoDB 3.4 中别名为sh.updateZoneKeyRange()。以下指定的功能仍适用于 MongoDB 3.2. MongoDB 3.4 提供了Zone sharding作为标记感知分片的后继者。
将范围的分片键值附加到使用sh.addShardTag()方法创建的分片标记。 sh.addTagRange()接受以下参数:
Parameter | Type | Description |
---|---|---|
namespace |
string | 要标记的分片集合的namespace。 |
minimum |
document | 标记中要包含的shard key范围的最小值。最低限度是包容性匹配。以<fieldname>:<value> 的形式指定最小值。此值必须与分片键具有相同的 BSON 类型。 |
maximum |
document | 标签中包含的分片键范围的最大值。最大值是互斥匹配。以<fieldname>:<value> 的形式指定最大值。此值必须与分片键具有相同的 BSON 类型。 |
tag |
string | 附加由minimum 和maximum 参数指定的范围的标记名称。 |
使用sh.addShardTag()以确保平衡器将指定范围内存在的文档迁移到特定的碎片或一组碎片。
连接到mongos实例时仅发出sh.addTagRange()。
Behavior
Bounds
区域范围始终包括下边界,不包括上边界。
Dropped Collections
如果您使用sh.addTagRange()将标签范围添加到集合中,然后再删除该集合或其数据库,则 MongoDB 不会删除标签关联。如果以后使用相同名称创建新集合,则旧标签关联将应用于新集合。
Example
给定一个分片键{state: 1, zip: 1}
,以下操作将创建一个覆盖纽约 State 邮政编码的标签范围:
sh.addTagRange( "exampledb.collection",
{ state: "NY", zip: MinKey },
{ state: "NY", zip: MaxKey },
"NY"
)