如何从不同的分片和相同的集合中获取结果

时间:2015-09-09 06:15:28

标签: mongodb sharding

我使用1个配置服务器,1个路由器和2个碎片创建了一个MongoDB Sharding测试。

我创建了一个配置服务器 mongod --configsvr --dbpath /data/configdb --port 27019

我用mongos --configdb <CONFIG SERVER IP>:27019运行 mongos 。我连接了分片,数据库和集合。当我查询分片集合时,光标不会从两个分片中获得结果,它只获得结果1个分片。根据MongoDB Sharding Document,我可以将一个集合分发到不同的分片,但结果不能满足这些信息。

我做错了什么?使用相同查询从不同分片获取结果的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

正确的方法是确保您不必经常穿过碎片。您选择了一个分片键,以便您的查询最终不会跨越分片。例如用户数据库可以将用户标识/名称作为分片键。大多数查询都会寻找单个用户,因此会从单个分片返回。

对于单独使用1个分片的结果无法满足的查询,Mongo会自动从所有分片请求数据。