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

แบบสอบถาม MongoDB เพื่ออัปเดตรายการเดียวจากบันทึกการลงคะแนน (ขึ้นและลง)?


ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.demo57.insertOne({"Votes":{"VoterName":"Chris","TotalVote":50}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e285bb8cfb11e5c34d8991a")
}
> db.demo57.insertOne({"Votes":{"VoterName":"David","TotalVote":101}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e285bc3cfb11e5c34d8991b")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo57.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e285bb8cfb11e5c34d8991a"), "Votes" : { "VoterName" : "Chris", "TotalVote" : 50 } }
{ "_id" : ObjectId("5e285bc3cfb11e5c34d8991b"), "Votes" : { "VoterName" : "David", "TotalVote" : 101 } }

นี่คือแบบสอบถามเพื่ออัปเดตรายการเดียวเท่านั้น (TotalVote) -

> db.demo57.update({"Votes.VoterName":"David" },{ $inc : { "Votes.TotalVote" : 19 } });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo57.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e285bb8cfb11e5c34d8991a"), "Votes" : { "VoterName" : "Chris", "TotalVote" : 50 } }
{ "_id" : ObjectId("5e285bc3cfb11e5c34d8991b"), "Votes" : { "VoterName" : "David", "TotalVote" : 120 } }