鉴于您拥有一个具有日期或期间(2013-01)属性的文档集合,使用MongoDB聚合框架计算移动平均统计数据(比如3-m avg。)的最佳方法是什么?
答案 0 :(得分:1)
最好以合理的间隔运行整个聚合,然后重新计算整个集合。如果您计算3个月的平均值,请设置每晚运行的cronjob并计算平均值。
var minus3Months = new Date();
minus3Months.setMonth(now.getMonth()-3);
db.myCollection.aggreage([
{"$match": {"createdAt": {"$gte": minus3Months}}},
......
])