ด้านล่างเป็นรหัสของฉัน
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