Proč se to děje?
Výchozí je vrátit originál, nezměněný dokument. Pokud chcete, aby byl vrácen nový, aktualizovaný dokument, musíte předat další argument:objekt s new
vlastnost nastavena na true
.
Z dokumentů mongoose:
Query#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` });
Dostupné možnosti
new
:bool – pokud pravda , vraťte upraveno dokument spíše než originál. výchozí hodnota je false (změněno ve verzi 4.0)
Řešení
Předejte {new: true}
pokud chcete aktualizovaný výsledek v doc
proměnná:
// 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);
});