mongoose gør dette for dig i én operation.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Vær venligst opmærksom på, at ved at bruge denne metode, vil du ikke være i stand til at gøre brug af skemaets "pre"-funktioner.
http://mongoosejs.com/docs/middleware.html
Fra den seneste mogoose skal findbyidandupdate have en "ny:sand" valgfri param tilføjet til sig. Ellers vil du få den gamle doc retur til dig. Derfor konverteres opdateringen til Mongoose Version 4.x.x til:
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);