2013-05-29 19 views
0

我在集合'foo'中有時間序列數據。每條記錄有兩個字段 - foodatefoovalue。什麼是最有效的方法來產生一個n期平均值,最小值和最大值是foovaluefoodateMongoDB - n期平均值/分鐘/最大值

回答

0

使用聚合框架:

> db.foo.insert([{ date: 0, value: 0 }, { date: 0, value: 1 }, { date: 1, value: 2 }]) 
> db.foo.count() 
3 
> db.foo.aggregate(
    { $group: { 
     _id: '$date', 
     avg: { $avg: '$value' } } 
    }, 
    { $project: { 
     // Rename '_id' to 'date', include 'avg'. 
     date: '$_id', 
     _id: false, 
     avg: true 
    } }, 
    { $sort: { _id: 1 } }) 
+0

@一 - 傑西 - jiryu戴維斯感謝。另外,是否可以在mongo中進行滾動n週期計算? – Vishal

+0

否;爲此,您應該查詢數據並使用您的編程語言進行計算。 –

相關問題