我使用1个配置服务器,1个路由器和2个碎片创建了一个MongoDB Sharding测试。
我创建了一个配置服务器
mongod --configsvr --dbpath /data/configdb --port 27019
我用mongos --configdb <CONFIG SERVER IP>:27019
运行 mongos 。我连接了分片,数据库和集合。当我查询分片集合时,光标不会从两个分片中获得结果,它只获得结果1个分片。根据MongoDB Sharding Document,我可以将一个集合分发到不同的分片,但结果不能满足这些信息。
我做错了什么?使用相同查询从不同分片获取结果的正确方法是什么?
答案 0 :(得分:1)
正确的方法是确保您不必经常穿过碎片。您选择了一个分片键,以便您的查询最终不会跨越分片。例如用户数据库可以将用户标识/名称作为分片键。大多数查询都会寻找单个用户,因此会从单个分片返回。
对于单独使用1个分片的结果无法满足的查询,Mongo会自动从所有分片请求数据。