我们正在实施标签识别分片。
以下是要求:
//Add tags to shards
sh.addShardTag("shard1", "range1");
sh.addShardTag("shard2", "range2");
sh.addShardTag("shard3", "range3");
//Add ranges to chunks
sh.addTagRange("test.foo", {_id:MinKey}, {_id:MaxKey}, "range1");
sh.addTagRange("test.foo", {_id:MinKey}, {_id:MaxKey}, "range2");
sh.addTagRange("test.foo", {_id:50}, {_id:50}, "range3");
除了被忽略的range3之外,一切正常。
需要一种方法,其中所有数据都存储在shard1
或shard2
,{_id: 50}
除外,shard3
应该进入shard3
。
此外,{_id: 50}
应该只包含特定于{{1}}的数据。