2016-07-14 50 views
1
var mongoose = require('mongoose'); 
module.exports = mongoose.model('GridModel', { 
    Request_Id : { type : Number, required : true },  
    viewStudents : { type : Array , default : [] } 
}); 

上面的一个是猫鼬模型,在更新到viewStudents文件后应该被添加。对象数组的Mongoose模式和更新对象应该被添加

查询的更新是:

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 
    } 
} 

但我没有得到我与上面的代码

+0

您需要使用$ set –

+0

具有'Request_Id'的对象是否已经存在于db中? –

+0

对不起,我错过了在GridModel中添加Request_Id字段的同时发布此信息。现在我已经添加了该字段。 – Sathoori

回答

0

GridModel显示方式没有Request_Id属性。更新应该有$push变质:

{ 
    viewStudents : { 
     $push: { 
      Student_Name:req.body.Student_Name, 
      Student_Id:req.body.Student_Id, 
      Resume:req.body.Resume 
     } 
    } 
} 

上骆驼的情况下用下划线看起来很奇怪,我。