首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose引用集合或嵌套文档2层深

Mongoose引用集合或嵌套文档2层深
EN

Stack Overflow用户
提问于 2018-07-05 19:00:42
回答 1查看 166关注 0票数 0

我在node js上使用mongoose,并且我有一个Page集合,比如

代码语言:javascript
复制
{
    "_id" : ObjectId("5b3cf0e7ee00450156711a47"),
    "language" : "en",
    "published" : true,
    "content" : [ 
        {
            "title" : "my title 1",
            "subTitle" : "subtitle 1",
            "items" : [ 
                {
                    "title" : "my item title 1",
                    "subTitle" : "item subtitle 1",

                }, 
                {
                    "title" : "my item title 2",
                    "subTitle" : "item subtitle 2",
                }
            ]
        }, 
        {
            "title" : "my title 2",
            "subTitle" : "subtitle 2",
        }
    ],
    "createdAt" : ISODate("2018-07-04T16:08:07.057Z"),
    "__v" : 0
}

"content“数组包括许多对象,其中一些对象包括也包括许多对象"items”数组。(嵌套在2层深)

我想知道引用content对象是否比嵌套它们更好,因为它们也有嵌套的文档(在items中),所以这是2层深的嵌套。我必须使用page.content.id(listId).items.id(id)来查找它们,并使用page.content.id(listId).items.id(id)[key] = value; page.save();来更新它们。

考虑到最多应该有3个“项目”和5个“内容”,你认为最好的解决方案是什么,更新嵌套在2级深度文档或具有引用/集合的内容?

我还计划做一个版本化,这将影响这个决定,因为更新可以/将创建文档的新版本。

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 20:21:01

我更喜欢在这里收集参考资料。

页面架构

代码语言:javascript
复制
{
"language" : String,
"published" : Boolean,
"content" : [ 
   {type: mongoose.Schema.Types.ObjectId, ref: 'content'}
],
"createdAt" : Date,
}

内容架构

代码语言:javascript
复制
{
       "title" : String,
        "subTitle" : String,
        "items": [{type: mongoose.Schema.Types.ObjectId, ref: 'items'}]
}

项目架构

代码语言:javascript
复制
{
   "title" :String,
   "subTitle" : String,
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51189644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档