var mongoose = require('mongoose');
module.exports = mongoose.model('GridModel', {
Request_Id : { type : Number, required : true },
viewStudents : { type : Array , default : [] }
});
上面的模型是 mongoose 模型,更新到 viewStudents 字段后应该会添加。
更新查询是:
var conditions = { Request_Id : req.body.Request_Id},
update = {
viewStudents : {
Student_Name:req.body.Student_Name,
Student_Id:req.body.Student_Id,
Resume:req.body.Resume}
},
options = { multi : true};
GridModel.update(conditions, update, options, callback);
function callback(err,res2) {
if(err)
res.send(err);
getGridRequests(res);
}
两次更新后的最终输出应如下所示
viewStudents: {
{
Student_Name: asa,
Student_Id : 3,
Resume : No
}
{
Student_Name: asfsdfa,
Student_Id : 34234,
Resume : No
}
}
但是我没有得到上面代码所示的方式
最佳答案
GridModel 没有 Request_Id
属性。更新应该有 $push
修饰符:
{
viewStudents : {
$push: {
Student_Name:req.body.Student_Name,
Student_Id:req.body.Student_Id,
Resume:req.body.Resume
}
}
}
注意带有下划线的大驼峰式大小写对我来说看起来很奇怪。
关于javascript - 对象数组的 Mongoose 模式以及更新对象时应添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38371715/