2012-09-10 23 views
0

我創建了兩個碎片,並且關鍵是年齡象下面這樣:如何檢查每個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({shardcollection: "foo.items", key: {"age": 1, "_id":1}, unique: true}) 

如何在whcih碎片檢查數據? 或者我怎樣才能從指定的碎片獲取數據? 這可能嗎?

回答

1

當你想知道哪個碎片擁有多少數據,你可以使用

db.printShardingStatus(); 

命令。

我沒有自己嘗試,但我認爲應該可以在使用mongo程序直接連接到分片的mongod進程而不是mongos路由器進程時查詢特定的分片。無論如何,你只應該這樣做來排除故障。您的應用程序應該信任mongos將查詢分發到正確的分片,而不是直接訪問分片。

相關問題