我想知道以下在猫鼬模式中声明数组的方式之间是否有区别。是对的吗?它们有什么不同吗?
authors: [{
type: String
}]
vs。
authors: [{
author: {
type: String
}
}]
谢谢。
答案 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"
}
]
因此,现在这取决于您要如何设计数据库。