【发布时间】:2012-12-27 00:51:14
【问题描述】:
鉴于您有一组具有日期或期间 (2013-01) 属性的文档,使用 MongoDB 的聚合框架计算移动平均统计数据(例如 3-m avg.)的最佳方法是什么?
【问题讨论】:
标签: mongodb aggregation-framework nosql
鉴于您有一组具有日期或期间 (2013-01) 属性的文档,使用 MongoDB 的聚合框架计算移动平均统计数据(例如 3-m avg.)的最佳方法是什么?
【问题讨论】:
标签: mongodb aggregation-framework nosql
最好以合理的时间间隔运行整个聚合,然后重新计算整个集合。如果您要计算 3 个月的平均值,请设置一个每天晚上运行的 cronjob 并计算平均值。
var minus3Months = new Date();
minus3Months.setMonth(now.getMonth()-3);
db.myCollection.aggreage([
{"$match": {"createdAt": {"$gte": minus3Months}}},
......
])
【讨论】: