Hvorfor sker det?
standard er at returnere den originale, uændret dokument. Hvis du ønsker at det nye, opdaterede dokument skal returneres, skal du sende et ekstra argument:et objekt med new
egenskab sat til true
.
Fra mongoose-dokumenterne:
Forespørgsel#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`
});
Tilgængelige muligheder
new
:bool - hvis sandt , returner den modificerede dokument frem for originalen. standard er falsk (ændret i 4.0)
Løsning
Send {new: true}
hvis du vil have det opdaterede resultat 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);
});