根据MongoDB中的数据创建报告

时间:2012-03-14 13:39:05

标签: spring mongodb report

我正在尝试创建几个基于mongoDB显示与日期相关的信息的报告。例如,我需要显示过去30天内每天用户的注册数量。每个用户文档都有一个注册日期字段。我需要在报告中显示每天匹配记录的数量(总和)。

map-reduce是一个选项吗?还是太重了?

有关如何处理的任何建议?

我使用spring访问mongo。但我的问题更多的是如何查询mongoDB。

1 个答案:

答案 0 :(得分:1)

Map / reduce非常灵活,可以使用其他技术做一些难以处理的事情,但如果灵活性较低的方法能够满足您的需求,它就不会像灵活性较低的方法一样快或资源效率高。我认为这是“沉重”的想法的来源。您可以编写map / reduce函数来执行db.collection.find({a:1})。count()的操作,但count()解决方案会更快。

根据您的描述,map / reduce声音就像一种合理的方法。如果需要,它可以根据文档中的其他字段灵活地调整分组,如果您的文档不是很统一,这可能会有所帮助。 map / reduce作业会增加服务器的负载,因此如果您几乎没有跟上高速率的插入或更新,它可能不是一个很好的补充,但这适用于任何增加的工作负载。如果您有能力这样做,那么对性能影响进行测试和基准测试是最好的计划。