Waarom gebeurt dit?
De standaard is om de originele, ongewijzigde . terug te geven document. Als u wilt dat het nieuwe, bijgewerkte document wordt geretourneerd, moet u een extra argument doorgeven:een object met de new
eigenschap ingesteld op true
.
Van de mangoestdocumenten:
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`
});
Beschikbare opties
new
:bool - indien waar , retourneer de aangepaste document in plaats van het origineel. standaard ingesteld op false (gewijzigd in 4.0)
Oplossing
Geef {new: true}
door als u het bijgewerkte resultaat in de doc
. wilt variabele:
// 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);
});