Mongoose中的子文档和嵌套对象有什么区别?
在mongoose模式中有两种定义嵌套对象的方法
var childSchema = new Schema({ name: String, age: Number }) var parentSchema = new Schema({ children: [childSchema] })
和
var parentSchema = new Schema({ children: [{ name: String, age: Number }] })
那他们有什么区别? 我该如何select使用哪一个?
一样。 在第二个版本中省childSchema
式的childSchema
定义只是一个替代的声明语法 。
唯一的区别是您是否有权访问子文档的模式对象(您在第二个版本中没有childSchema
)。 使用第一个版本的一个原因是如果你需要在子模式上设置一个选项 ,如果你不想要这个选项的话,就可以禁止_id
字段。
var childSchema = new Schema({ name: String, age: Number }, { _id: false });
你不能用备用语法来做到这一点。