【问题标题】:when to store data different collections MongoDB?什么时候存储数据不同的集合MongoDB?
【发布时间】:2019-03-07 17:40:57
【问题描述】:

我想在 MongoDB 中存储一周内发生的事件。每周可以有 300-400 个事件。 一周的事件独立于另一周,一次我只获取或处理一周的时间。(从不加入两周或更长时间)

所有事件对象具有相同的属性但值不同。

每周或在同一个集合中创建单独的集合好吗?

【问题讨论】:

  • 您需要将这些信息(关于事件)保存多长时间?
  • 最多一年。

标签: mongodb data-modeling


【解决方案1】:

根据给定的信息,我会选择将所有内容存储在一个集合中,因为每周 300-400 个事件实际上只是少量的实体(文档)。

文档架构取决于项目需求/详细信息,但至少我会添加分隔 yearweek 元素以用于过滤目的

文档示例:

{
    "_id": ObjectId("5c530d202029a5144454f9c2"),
    "year": 2019,
    "week": 10,
    "event": {
        "date": ISODate("2019-03-07T11:00:01.022Z")
        "name": "some event name",
        "message": "some message"
    }
}

【讨论】:

  • 您的意思是每周有一个单独的文档,或者一个由唯一 week_id 标识的事件的文档。
  • 每个事件一个文档(1 年 x 12 个月 x 400 个事件 = 4800 个文档,这个数量的文档对于 MongoDB 来说不算什么)。
猜你喜欢
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多