mongoose to za vás udělá v jedné operaci.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Mějte prosím na paměti, že při použití této metody nebudete moci využívat funkce „před“ schématu.
http://mongoosejs.com/docs/middleware.html
Od poslední aktualizace mogoose findbyidandupdate musí mít volitelný parametr „new:true“. V opačném případě vám vrátí starý dokument. Proto se aktualizace pro Mongoose verze 4.x.x převede na :
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);