mangouste le fait pour vous en une seule opération.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Veuillez garder à l'esprit qu'en utilisant cette méthode, vous ne pourrez pas utiliser les fonctions "pré" du schéma.
http://mongoosejs.com/docs/middleware.html
Depuis la dernière version de mogoose, findbyidandupdate doit avoir un paramètre optionnel "new :true" ajouté. Sinon, l'ancien document vous sera renvoyé. Par conséquent, la mise à jour pour Mongoose Version 4.x.x se convertit en :
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);