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

อัปเดตเฉพาะฟิลด์ที่ต้องการใน MongoDB ด้วย $set

เพื่ออัปเดตเฉพาะฟิลด์บางฟิลด์ ให้ใช้ตัวดำเนินการ $set ซึ่งจะเปลี่ยนเฉพาะฟิลด์ที่ระบุ ไม่กระทบฟิลด์อื่น

สร้างคอลเลกชันพร้อมเอกสาร:

> db.demo265.insertOne({"id":101,"Name":"Chris"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e480d781627c0c63e7dbaa4") } 
> db.demo265.insertOne({"id":102,"Name":"Bob"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e480d7d1627c0c63e7dbaa5") } 
> db.demo265.insertOne({"id":103,"Name":"David"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e480d841627c0c63e7dbaa6") }

แสดงเอกสารทั้งหมด:

> db.demo265.find();

ผลลัพธ์:

คำสั่งอัปเดตเฉพาะฟิลด์ id ของเอกสารที่ Name = "David" ให้เป็น 10004:

> db.demo265.update({Name:"David"},{$set:{id:10004}}); 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารอีกครั้ง - เฉพาะ id ของ David เปลี่ยนเป็น 10004, ฟิลด์ Name และเอกสารอื่นไม่เปลี่ยน:

> db.demo265.find();

ผลลัพธ์: