Varför händer detta?
standard är att returnera originalet, oförändrat dokumentera. Om du vill att det nya, uppdaterade dokumentet ska returneras måste du skicka ett extra argument:ett objekt med new
egenskapen inställd på true
.
Från mongoose-dokumenten:
Fråga#findOneAndUpdate
Model.findOneAndUpdate(conditions, update, options, (error, doc) => { // error: any errors that occurred // doc: the document before updates are applied if `new: false`, or after updates if `new = true` });
Tillgängliga alternativ
new
:bool - om sant , returnera den modifierade dokumentet snarare än originalet. förinställningen är falsk (ändrat i 4.0)
Lösning
Passera {new: true}
om du vill ha det uppdaterade resultatet i doc
variabel:
// V--- THIS WAS ADDED
Cat.findOneAndUpdate({age: 17}, {$set:{name:"Naomi"}}, {new: true}, (err, doc) => {
if (err) {
console.log("Something wrong when updating data!");
}
console.log(doc);
});