Unten ist mein Code
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var Cat = mongoose.model('Cat', {
name: String,
age: {type: Number, default: 20},
create: {type: Date, default: Date.now}
});
Cat.findOneAndUpdate({age: 17}, {$set:{name:"Naomi"}},function(err, doc){
if(err){
console.log("Something wrong when updating data!");
}
console.log(doc);
});
Ich habe bereits einige Datensätze in meiner Mongo-Datenbank und möchte diesen Code ausführen, um den Namen für das Alter von 17 Jahren zu aktualisieren und das Ergebnis am Ende des Codes auszudrucken.
Warum erhalte ich jedoch immer noch das gleiche Ergebnis von der Konsole (nicht den geänderten Namen), sondern wenn ich zur Befehlszeile von mongo db gehe und " db.cats.find();
" eingebe . Das Ergebnis kam mit geändertem Namen.
Dann gehe ich zurück, um diesen Code erneut auszuführen, und das Ergebnis wird geändert.
Meine Frage ist: Wenn die Daten geändert wurden, warum habe ich dann beim ersten Mal immer noch Originaldaten erhalten, als console.log es.