Dưới đây là mã của tôi
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);
});
Tôi đã có một số bản ghi trong cơ sở dữ liệu mongo của mình và tôi muốn chạy mã này để cập nhật tên cho độ tuổi 17 và sau đó in kết quả ra ở cuối mã.
Tuy nhiên, tại sao tôi vẫn nhận được kết quả tương tự từ bàn điều khiển (không phải tên đã sửa đổi) nhưng khi tôi đi đến dòng lệnh mongo db và gõ " db.cats.find();
". Kết quả đi kèm với tên sửa đổi.
Sau đó tôi quay lại để chạy mã này một lần nữa và kết quả được sửa đổi.
Câu hỏi của tôi là: Nếu dữ liệu đã được sửa đổi, thì tại sao tôi vẫn nhận được dữ liệu gốc lần đầu tiên khi console.log nó.