如何在猫鼬模式中正确声明数组?

时间:2019-12-28 05:20:48

标签: mongoose

我想知道以下在猫鼬模式中声明数组的方式之间是否有区别。是对的吗?它们有什么不同吗?

authors: [{
    type: String
}]

vs。

authors: [{
    author: {
        type: String
    }
}]

谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,两者都是有效的。但是,如果您想知道区别,那么让我向您展示它的实际区别

案例1:

authors: [{
    type: String
}]

当您在架构中像上面那样编写时,这意味着authors键将包含字符串数组。更准确地说,文档的创建方式如下:

authors:[
    "Adam Freeman,
    "Kristina Chodorow",
    "Kyle Banker",
    "Eelco Plugge"
]

案例2:

authors: [{
    author: {
        type: String
    }
}]

当您在架构中像上面那样编写时,这意味着作者可能包含多个键为“ author”的对象,并且该对象的类型为字符串。更准确地说,文档的创建方式如下:

authors:[
    {
        author:"Adam Freeman"
    },
    {
        author:"Kristina Chodorow"
    },
    {
        author:"Kyle Banker"
    },
    {
       author:" Eelco Plugge"
    }
]

因此,现在这取决于您要如何设计数据库。