用於從投票 (向上和向下) 記錄中僅更新單個專案的 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 } }
廣告