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

อัปเดตเอกสารเพียงรายการเดียวใน MongoDB ด้วย updateOne()

เพื่ออัปเดตเอกสารเพียงรายการเดียวในคอลเลกชัน ให้ใช้เมธอด updateOne()

สร้างคอลเลกชันพร้อมเอกสาร (มี StudentId ซ้ำกัน 2 รายการ):

> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Chris"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3725ddae1f53b621e8") } 
> db.updateOneDemo.insertOne({"StudentId":2,"StudentFirstName":"David"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3825ddae1f53b621e9") } 
> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Mike"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3825ddae1f53b621ea") }

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

> db.updateOneDemo.find();

ผลลัพธ์ - มี 3 เอกสาร StudentId=1 สองรายการ (Chris, Mike):

คำสั่ง updateOne() โดยไม่ระบุเงื่อนไข (empty query {}) จะอัปเดตเอกสารแรกที่เจอ เปลี่ยน StudentFirstName เป็น "Robert":

> db.updateOneDemo.updateOne({},{$set:{"StudentFirstName": "Robert"}}); 
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

แสดงเอกสารอีกครั้งหลังอัปเดต:

> db.updateOneDemo.find();

ผลลัพธ์ - เอกสารแรก (Chris) เปลี่ยนเป็น Robert, ส่วน Mike และ David ไม่เปลี่ยน: