【问题标题】:Best way to store an historic of info using MongoDB?使用 MongoDB 存储历史信息的最佳方式?
【发布时间】:2021-11-27 22:47:49
【问题描述】:

我有一个名为 users 的集合,在其中我有一个名为“weight”的属性,它有一个数字属性和一个日期属性。用户可以更新它的权重,但我需要保存一个包含所有以前权重和更新日期的历史记录。我不确定我应该如何构建它。 最好的一天怎么做?我正在使用 NestJS 和 Mongoose。

【问题讨论】:

  • 既然选择了文档数据库,为什么不将用户的权重存储为一个数组,最新的在顶部。或者只是将历史权重存储在一个数组中,同时将当前权重作为一个单独的属性。

标签: typescript mongodb mongoose nestjs


【解决方案1】:

最佳模型取决于您的应用程序使用的最常见查询是什么,因此我们可能需要有关您的应用程序的更多上下文来建议最佳模型。话虽如此,我建议使用单独的权重集合,包含 userId、权重和日期字段。

当您有时查询用户数据并且根本不需要历史权重,而其他时候您只想查询历史权重时,这是有道理的,也许是为了显示一些权重演变数据,平均值,诸如此类。

如果您大部分时间将用户数据与历史权重一起使用,则可以在用户中嵌入权重文档数组,但是,处理嵌套子文档数组的查询可能会更复杂一些.

【讨论】:

  • 现在我只需要存储历史重量,不要认为我需要它来做其他事情。也许将来会有一个屏幕显示它。
猜你喜欢
  • 2020-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-24
  • 2011-12-09
  • 1970-01-01
相关资源
最近更新 更多