我用一个Config、一个路由器和两个碎片创建了一个测试MongoDB切分。
我用mongod --configsvr --dbpath /data/configdb --port 27019创建了一个配置服务器
我运行mongos和mongos --configdb <CONFIG SERVER IP>:27019。我连接了碎片、数据库和集合。当我查询切分集合时,游标不会从两个碎片中获得结果,它只会得到一个碎片。根据MongoDB分片文档,我可以将一个集合分发给不同的碎片,但是结果不能满足这些信息。
我做错了什么?用相同的查询从不同的碎片获取结果的正确方法是什么?
发布于 2015-09-09 10:28:20
正确的方法是确保你不需要去横穿碎片,经常。您选择了一个shard键,这样您的查询就不会以跨碎片结束。例如,用户数据库可以将用户id/名称作为切分键。大多数查询都去寻找单个用户,因此将从单个碎片返回。
对于不能满足仅来自1 shard的结果的查询,Mongo会自动从所有碎片请求数据。
https://stackoverflow.com/questions/32472144
复制相似问题