我正在使用java在mongodb
上创建报告。所以在这里我需要使用map reduce来创建报告。我在生产中有3个副本。
对于报告查询,我不希望向主要mongo database
发出请求。我想只对辅助副本发出请求,所以如果我们使用map reduce,它会创建一个临时集合。
1)如果我将读取首选项设置为辅助,则会出现任何问题
对于使用map reduce的报告?
2)将创建临时收集
二级复制品?
3)是否有其他方式使用二级
副本用于报告目的,因为我不想创建流量
主数据库?
4)我将获得正确的预期结果
巨大的数据?
答案 0 :(得分:1)
执行此操作的最简单方法可能是直接连接到辅助节点,而不是使用ReadPreference.SECONDARY_ONLY连接到副本集。在这种情况下,它肯定会在次要中创建一个临时的,你应该得到正确的结果(当然!)。
我还建议您查看聚合框架,因为它比Map Reduce作业更快,更容易使用和调试。它不是那么强大,但我不得不找到一种情况,我无法使用聚合框架来进行聚合和报告需求。