我有一個名爲test2的分片羣集。MongoDB:在分片羣集上查詢
db.collection.getShardDistribution()使我這個:
爲什麼我.count()
查詢只能通過shard0000文件返回shard0000總文檔和我的迭代只迭代?我需要做什麼才能使我的查詢返回整個集合?
System.out.println("Total docs: "+db.getCollection(collectionName).count());
FindIterable<Document> iterable = db.getCollection(collectionName).find();
我用不同的參數執行的任何查詢只是遍歷shard0000。
編輯連接字符串:
MongoClient mongoClient = new MongoClient("129.241.xxx.xx",27017);
這是錯誤。應該是端口27023.謝謝!
你能發佈你的連接字符串嗎?它指向mongos實例嗎?你的收藏和你的集羣有相同的名字? –
你能更具體嗎? – kongshem
您通過'mongos'實例查詢分片羣集,因此您需要連接到它。最有可能的是,你直接連接到shard0000。只要確保你連接到你的mongos實例。當然,只需通過[編輯它](http://stackoverflow.com/posts/34018856/edit) –