如何检查mongodb的每个碎片中的数据?
我创建了两个碎片,关键点如下:如何检查mongodb的每个碎片中的数据?,mongodb,Mongodb,我创建了两个碎片,关键点如下: 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({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碎片中的数据?
或者如何从指定的碎片中获取数据?
有可能吗?当您想知道哪个碎片保存了多少数据时,可以使用
db.printShardingStatus();
指挥部
我自己没有尝试过,但我认为当您使用mongo程序直接连接到shard的mongod进程而不是mongos路由器进程时,应该可以查询特定的shard。在任何情况下,您只应在进行故障排除时执行此操作。应用程序应该信任mongos将查询分发到正确的分片,而不是直接访问分片。当您想知道哪个分片包含多少数据时,可以使用
db.printShardingStatus();
指挥部
我自己没有尝试过,但我认为当您使用mongo程序直接连接到shard的mongod进程而不是mongos路由器进程时,应该可以查询特定的shard。在任何情况下,您只应在进行故障排除时执行此操作。应用程序应该信任mongos将查询分发到正确的碎片,而不是直接访问碎片