【问题标题】:Create new Mongodb Documents vs Pushing to a Document's Array创建新的 Mongodb 文档与推送到文档的数组
【发布时间】:2014-11-17 03:12:10
【问题描述】:

温度记录器每 1 秒记录一次温度,并使用 Meteor.js 实时图表显示过去 5 秒内的平均温度。

将每个单独的温度读数保存为新的 Mongodb 文档是最佳做法吗?或者将新读数推送到与特定温度记录器对应的文档中的数组中?

对于第二种情况,使用cursor.observeChanges绘制图表的Meteor.js客户端会收到整个文档吗?如果是这样,这会不会是一个巨大的文档,其中包含客户端每秒下载的数月温度数据?

【问题讨论】:

  • 建议将每个读数保存为新文档,而不是推送到数组。详细解释可见here

标签: javascript node.js mongodb meteor


【解决方案1】:

这种数据被称为时间序列,MongoDB 已经完成了 a number webinars 和博客 posts 处理这些数据的最佳方式。

基本思想是在每个度量的文档和一个文档中的所有度量之间进行交叉。您创建一个文档,将所有测量值保存一段时间(比如一天)。为避免文档移动和“空洞”,您为文档预先分配了无效值(例如 0、-1、-infinity)以进行测量。

HTH - 抢。

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2016-10-12
    • 1970-01-01
    相关资源
    最近更新 更多