【问题标题】:MongoDB: Do these objects belong in subdocument arrays or a new collection?MongoDB:这些对象属于子文档数组还是新集合?
【发布时间】:2016-12-29 13:46:51
【问题描述】:

我正在构建一个 MEAN.js 应用程序(一个初学者实验项目),我的模型要求存储属于特定用户的数据。这是模型:

{
        "_id" : ObjectId("57b633f677d71aae1b8b56dc"),
        "pauses" : [ 
            {
                "_id" : ObjectId("57b633f877d71aae1b8b56dd"),
                "momentResumed" : null,
                "momentPaused" : ISODate("2016-08-18T22:17:28.222Z")
            }, 
            {
                "_id" : ObjectId("57b633fb77d71aae1b8b56de"),
                "momentResumed" : null,
                "momentPaused" : ISODate("2016-08-18T22:17:31.641Z")
            }, 
            {
                "_id" : ObjectId("57b6392877d71aae1b8b56df"),
                "momentResumed" : null,
                "momentPaused" : ISODate("2016-08-18T22:39:36.032Z")
            }
        ],
        "momentCompleted" : ISODate("2016-08-18T22:39:33.366Z"),
        "momentStarted" : ISODate("2016-08-18T22:17:26.747Z")
}

我需要为每个用户存储很多(数百或数千)这些,并且随着我的应用程序的发展和添加新功能,我想为此添加更多字段。到目前为止,我一直将它们填充到每个用户文档中的数组属性中(这意味着我现在有一个包含数组的文档数组),但这使得访问子数组中的数据变得困难,而且我越来越担心这不是一个可持续的模式。

可以让一些更有经验的 MongoDB 开发人员参与进来吗?这是一个可持续的模型,还是我应该将所有这些对象移到一个新集合中,然后找出一种将它们连接到我的用户对象的好方法?

【问题讨论】:

    标签: arrays mongodb mean-stack meanjs mongoose-schema


    【解决方案1】:

    我凭直觉将这些物品移到了他们自己的收藏中,这绝对是正确的决定。我的所有查询都可以简化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      相关资源
      最近更新 更多