标签: javascript node.js mongodb meteor
温度记录仪每1秒记录一次温度,使用Meteor.js实时图表显示过去5秒内的平均温度。
最佳做法是将每个温度读数保存为新的Mongodb文档吗?或者将新读数推送到与特定温度记录器对应的文档中的数组?
对于第二种情况,绘制图表的Meteor.js客户端在使用cursor.observeChanges时是否会收到整个文档?如果是这样,这可能是一个巨大的文档,其中有几个月的温度数据,客户端每秒下载一次?
cursor.observeChanges
答案 0 :(得分:4)
此类数据称为时间序列,MongoDB已完成a number webinars和博客posts处理此数据的最佳方法。
基本思想是在每个测量文档和一个文档中的所有测量之间进行交叉。您创建一个文档,其中包含一段时间(比如一天)的所有度量。避免文件移动和"孔"您为测量预分配具有无效值(例如,0,-1,-infinity)的文档。
HTH - 罗布。