如何在 MongoDB 时间序列集合中构建文档的最佳实践?

问题描述 投票:0回答:1

我想将设备的一些测量读数存储在 mongodb 时间序列集合中。

假设设备在每条消息中发送一个或多个测量读数,因此消息看起来类似于:

{ device_id: 12, timestamp: "2024-10-22T10:00:00Z", reading1: 12.4, reading2: 33.2 .... }

是每个文档存储一个读数还是所有读数都存储在同一个文档中更好?还是“视情况而定”?

mongodb time-series
1个回答
1
投票

如果您主要希望同时为设备抓取或保存一堆读数,最好只是将所有这些读数保留在一个文档中。这样,您将需要处理更少的文档,从而使查询更轻松,批量操作运行更顺畅。另一方面,如果您经常更新或搜索单个阅读材料,或者您认为自己将拥有大量数据,那么“将每个阅读材料放入其自己的文档中”可能会更明智。这为您提供了更大的灵活性,让您更轻松地调整事情。 分解:

    将读数分组在一起
  • :您的文档会更少,并且可以轻松获取所有内容,但如果您想更新或检查单个读数,就会变得更加棘手。
  • 每次阅读一个文档
  • :详细更新和搜索有更多自由,但最终您会得到更多文档,并且会变得有点复杂。
  • 选择适合您通常需要如何查询事物以及您希望处理多少数据的方法。

© www.soinside.com 2019 - 2024. All rights reserved.