我第一次尝试使用MongoDB集合来保存物联网传感器数据。通过编写API,我想从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 recursion
或The $subtract accumulator is a unary operator
。
我也找到了符合我要求的解决方案:https://stackoverflow.com/a/27751029/1765404。但结果也是InternalError: too much recursion
。
如果有帮助,可能会更改阅读架构。该集合现在包含来自过去一个月的约70,000行虚拟数据。