我们正在实施标签感知分片。
以下是要求:
//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}
.