2013-01-12 178 views
3

既然你有與任何一個日期或期間(2013-01)的財產,什麼是計算移動平均的統計數據(比如3米平均)使用MongoDB的聚集最好的辦法文檔集合移動平均線框架?使用MongoDB的聚合框架

回答

1

最好是在一個合理的區間運行整個聚集,並重新計算整套。如果您計算3個月的平均值,請設置每天晚上運行的cronjob並計算平均值。

var minus3Months = new Date(); 
minus3Months.setMonth(now.getMonth()-3); 
db.myCollection.aggreage([ 
    {"$match": {"createdAt": {"$gte": minus3Months}}}, 
    ...... 
]) 
+0

你會如何做,與歷史數據?可編程地設置時間範圍爲多個聚合查詢3個月的間隔可以說50年?有一種方法可以用一個查詢來做到這一點嗎? –