动态对象的模式

时间:2018-05-24 19:22:00

标签: javascript node.js mongoose mongoose-schema

我需要在mongodb(每5秒钟后)存储一些指标的高频率,周期性时间序列数据,因为正常方法太昂贵了:

   {
      timestamp: ISODate("2013-10-10T23:06:37.000Z"),
      type: String,
      value: Number
    },

我想写一个优化的here,文档看起来像:

{
  timestamp_hour: ISODate("2013-10-10T23:06:00.000Z"),
  type: “memory_used”,
  values: {
    0: 999999,
    …
    37: 1000000,
    38: 1500000,
    … 
    720: 2000000,
  }
}

在上面的模型中,而不是每5秒存储一个文档,我每1小时存储一个文档,并将在特定时间内生成的所有数据存储在“values”对象中作为键值对。

为了尽可能减小文档大小并在获取数据时提高性能,我应该使用Array来存储值或动态对象,哪一个会给我最小的尺寸和最快的读取(我将需要在任何特定文件中读取的大块值?)

如果我使用该对象,如何定义它的模式,因为值的数量(上例中的720)不是常量,它可以被更改。

0 个答案:

没有答案