1

我创建了两个分片,关键是年龄,如下所示:

db.runCommand({addshard: "localhost:10000", allowLocal: true, maxsize: 0.1, minkey: 1, maxkey: 1})
db.runCommand({addshard: "localhost:10001", allowLocal: true, maxsize: 0.1, minkey: 2, maxkey: 2})

db.runCommand({enablesharding: "foo"})
db.runCommand({shardcollection: "foo.items", key: {"age": 1, "_id":1}, unique: true})

如何检查 whcih 分片中的数据?或者我如何从指定的分片中获取数据?可能吗 ?

4

1 回答 1

1

当你想知道哪个分片保存了多少数据时,你可以使用

db.printShardingStatus();

命令。

我自己没有尝试过,但是我觉得应该可以在使用mongo程序直接连接到shard的mongod进程而不是mongos router进程的时候查询到特定的shard。在任何情况下,您都应该只为进行故障排除而这样做。您的应用程序应该信任 mongos 将查询分发到正确的分片,而不是直接访问分片。

于 2012-09-10T14:13:47.550 回答