以下は私のコードです
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);
});
私のmongoデータベースにはすでにいくつかのレコードがあります。このコードを実行して、年齢が17歳の名前を更新し、結果をコードの最後に出力します。
しかし、なぜ変更された名前ではなく、コンソールから同じ結果が得られるのですか。ただし、mongo dbコマンドラインに移動して「db.cats.find();
」その結果、名前が変更されました。
次に、このコードを再度実行して結果を変更します。
私の質問は次のとおりです。データが変更された場合、なぜconsole.logで最初のデータを取得したのですか。