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

hinzugefügt werden Das obige ist das Mungo-Modell und nach dem Update auf die ViewStudents-Dateien sollten hinzugefügt werden.Mongoose-Schema für Array von Objekten und bei Update-Objekten sollte

Query for Update:

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

fertige Ausgabe nach zwei Updates wie

aussehen sollte
viewStudents: { 
    { 
     Student_Name: asa, 
     Student_Id : 3, 
     Resume : No 
    } 
    { 
     Student_Name: asfsdfa, 
     Student_Id : 34234, 
     Resume : No 
    } 
} 

Aber ich bin nicht immer so, wie ich mit dem oben gezeigten Code haben

+0

Sie müssen $ set verwenden –

+0

Gibt es bereits ein Objekt mit 'Request_Id' in db? –

+0

Entschuldigung, ich habe es versäumt, das Request_Id-Feld in GridModel hinzuzufügen, während ich dies poste. Jetzt habe ich dieses Feld hinzugefügt. – Sathoori

Antwort

0

GridModel hat keine Request_Id Eigenschaft. Update sollte $push Modifikator haben:

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

HINWEIS Ober Kamel Fall mit Unterstrichen mir sehr seltsam aussieht.