Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

อัปเดตเฉพาะ Field ที่ต้องการใน MongoDB

อัปเดตเฉพาะ Field เฉพาะใน MongoDB ด้วย $set

ใช้ $set operator เพื่ออัปเดตเฉพาะ Field ที่ต้องการ ไม่กระทบ Field อื่นๆ

สร้าง Collection และ Documents

> db.updateOnlySpecificFieldDemo.insertOne({"EmployeeName":"John","EmployeeCountryName":"UK"});
> db.updateOnlySpecificFieldDemo.insertOne({"EmployeeName":"Larry","EmployeeCountryName":"US"});
> db.updateOnlySpecificFieldDemo.insertOne({"EmployeeName":"David","EmployeeCountryName":"AUS"});

แสดงข้อมูลก่อนอัปเดต

> db.updateOnlySpecificFieldDemo.find().pretty();

อัปเดต EmployeeName ของ John → Robert

> db.updateOnlySpecificFieldDemo.update(
  {_id:ObjectId("5c9ea849d628fa4220163b72")},
  {$set: {"EmployeeName":"Robert"}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ตรวจสอบหลังอัปเดต

> db.updateOnlySpecificFieldDemo.find().pretty();

ผลลัพธ์: EmployeeName ของ John กลายเป็น Robert ส่วน Larry และ David คงเดิม

{
  "_id" : ObjectId("5c9ea849d628fa4220163b72"),
  "EmployeeName" : "Robert",
  "EmployeeCountryName" : "UK"
}
{
  "_id" : ObjectId("5c9ea853d628fa4220163b73"),
  "EmployeeName" : "Larry",
  "EmployeeCountryName" : "US"
}
{
  "_id" : ObjectId("5c9ea85bd628fa4220163b74"),
  "EmployeeName" : "David",
  "EmployeeCountryName" : "AUS"
}

สรุป: $set อัปเดตเฉพาะ Field ที่ระบุ Field อื่นไม่เปลี่ยนแปลง