2017-04-01 64 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,这要感谢时间序列数据的完美处理。