从辅助mongo数据库中读取数据

时间:2013-07-12 06:00:56

标签: java mongodb

我正在使用java在mongodb上创建报告。所以在这里我需要使用map reduce来创建报告。我在生产中有3个副本。

对于报告查询,我不希望向主要mongo database发出请求。我想只对辅助副本发出请求,所以如果我们使用map reduce,它会创建一个临时集合。

1)如果我将读取首选项设置为辅助,则会出现任何问题     对于使用map reduce的报告?
   2)将创建临时收集     二级复制品?
   3)是否有其他方式使用二级     副本用于报告目的,因为我不想创建流量     主数据库?
4)我将获得正确的预期结果     巨大的数据?

1 个答案:

答案 0 :(得分:1)

执行此操作的最简单方法可能是直接连接到辅助节点,而不是使用ReadPreference.SECONDARY_ONLY连接到副本集。在这种情况下,它肯定会在次要中创建一个临时的,你应该得到正确的结果(当然!)。

我还建议您查看聚合框架,因为它比Map Reduce作业更快,更容易使用和调试。它不是那么强大,但我不得不找到一种情况,我无法使用聚合框架来进行聚合和报告需求。