2017-04-01 60 views
0

我想第一次使用MongoDB集合來保存我的物聯網傳感器數據。通過編寫一個API,我想從MongoDB中提取數據,以便在圖表中將這些數據表示給用戶。MongoDB聚合圖表的時間序列數據

我的模式如下,其中時間戳是Linux時間戳並讀取條目的浮點值。

var ReadingSchema = mongoose.Schema({ 
    uuid: String, 
    location: String, 
    type: String, 
    reading: Number, 
    unit: String, 
    timestamp: Number, 
    battery: Number 
}); 

讀數經常保存,沒有特定的時間間隔。傳感器A可以每10秒發送一次,而傳感器B可以每5分鐘發送一次。

我希望能夠提取數據來繪製圖表。我嘗試按以下示例所述的間隔進行分組:http://www.nrg-media.de/2013/10/mongodb-aggregation-group-by-any-time-interval/

但是我得到的結果是InternalError: too much recursionThe $subtract accumulator is a unary operator

我還發現這個解決方案符合我的要求:https://stackoverflow.com/a/27751029/1765404。但結果也是InternalError: too much recursion

閱讀架構可能會改變,如果這將有所幫助。該集合現在包含過去一個月〜70,000行的虛擬數據。

回答

0

現在我實際上從MongoDB轉移到InfluxDB,這要感謝時間序列數據的完美處理。