Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB để cập nhật chỉ một mục duy nhất từ ​​các bản ghi biểu quyết (lên và xuống)?

Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> 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")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo57.find();

Điều này sẽ tạo ra kết quả sau -

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

Đây là truy vấn chỉ cập nhật một mục duy nhất (TotalVote) -

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

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo57.find();

Điều này sẽ tạo ra kết quả sau -

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