以下是我的代码
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);
});
Run Code Online (Sandbox Code Playgroud)
我已经在我的mongo数据库中有一些记录,我想运行此代码来更新年龄为17的名称,然后在代码末尾打印出结果.
但是,为什么我仍然从控制台获得相同的结果(不是修改后的名称),但是当我转到mongo db命令行并输入" db.cats.find();
"时.结果来自修改后的名称.
然后我回去再次运行此代码并修改结果.
我的问题是:如果数据被修改,那么为什么我在第一次使用console.log时仍然获得了原始数据.