哪种方式是正确的?有什么区别?
var UserSchema = new Schema({
"name": {type: String, unique: true },
"password": String,
"tasks": [
new Schema({
"name": String,
"importance": String,
"completed": Boolean
})
]
})
var Schema = mongoose.Schema;
var UserSchema = new Schema({
"name": {type: String, unique: true },
"password": String,
"tasks":[{//push objects in the array}]
})
如果我是第一种方式,那么Schema会为任务添加一个_id吗?
答案 0 :(得分:0)
var childSchema = new Schema({ name: 'string' });
var parentSchema = new Schema({
children: [childSchema]
})
替代语法:
var parentSchema = new Schema({
children: [{ name: 'string' }]
})
这些是等效的。第一个优点是您可以稍后访问您的模式实例(通过将其保存到变量)。
在您的情况下,在第一个选项中,您不需要new Schema()
,这是隐含的。
如果您不想自动生成ID,可以在架构选项中设置_id:false。