我有一个名为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) –