以下是我的两个模式:
var itemSchema = mongoose.Schema({
body : String
});
var taskSchema = mongoose.Schema({
user_id : { type: String, index: true }
, short_id : { type: String, index: true }
, title : { type: String, required: true }
, desc : String
, items : [itemSchema]
, created_at : Date
});
从我的Angularjs应用程序中,我可以成功发布一个任务(包括其中的项目数组),但是我无法将项目插入数据库。
我目前正在尝试这个
task.user_id = req.user.id;
task.short_id = '12345';
task.title = req.body.title;
task.desc = req.body.desc;
task.created_at = Date.now();
task.items.push({ body: req.body.items.body }); //note: body is also the one attribute of Item
这是我如何保存
task.save(function (err) {
if (err) return res.send(400, err)
res.send (task)
});
除最后一行之外的所有行都有效 - 其他所有内容都会被添加。如何将项目数组添加到我的数据库?
答案 0 :(得分:0)
由于req.body.items
是一个包含与itemSchema
格式相同的项目的数组,因此您可以直接指定:
task.items = req.body.items;