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

위의 것은 몽구스 모델이며 viewStudents fileds에 대한 업데이트 이후에 추가되어야합니다. 업데이트에 대한개체 배열 및 업데이트 개체에 대한 몽구스 스키마가 추가되어야합니다.

쿼리는 다음과 같습니다

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 속성이 없습니다. 밑줄 위 낙타 케이스 나에게 매우 이상한 보이는

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

참고 : 업데이트 $push modificator이 있어야합니다.

관련 문제