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

上記の1つは、mongooseモデルであり、viewStudents filedsへの更新後に追加する必要があります。更新のためのオブジェクトの配列と更新オブジェクトのマングーススキーマを追加する必要があります

クエリは次のとおりです。2回の更新後

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、改質剤を持っている必要があります。

関連する問題