mangoest doet dit voor u in één handeling.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Houd er rekening mee dat u met deze methode geen gebruik kunt maken van de "pre"-functies van het schema.
http://mongoosejs.com/docs/middleware.html
Vanaf de laatste mogoose moet findbyidandupdate een "new :true" optionele parameter toegevoegd hebben. Anders krijgt u het oude document teruggestuurd. Vandaar dat de update voor Mongoose Versie 4.x.x wordt geconverteerd naar:
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);