使用 MongoDB 中的 $push 更新匹配條件的陣列元素
為此,請使用更新命令和 $push。我們首先建立一個包含文件的集合 -
>db.demo9.insertOne({"StudentDetails":[{"StudentName":"Chris","ListOfSubject":["MySQL","Java"]}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e0f6438d7df943a7cec4f94") }
以下是使用 find() 方法從集合中顯示所有文件的查詢 -
> db.demo9.find().pretty();
這將產生以下輸出 -
{ "_id" : ObjectId("5e0f6438d7df943a7cec4f94"), "StudentDetails" : [ { "StudentName" : "Chris", "ListOfSubject" : [ "MySQL", "Java" ] } ] }
以下是使用 $push 更新匹配條件的陣列元素的查詢 -
> db.demo9.update( { "StudentDetails.StudentName":"Chris"}, {$push:{"StudentDetails.$.ListOfSubject":"MongoDB"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
以下是使用 find() 方法從集合中顯示所有文件的查詢 -
> db.demo9.find().pretty();
這將產生以下輸出 -
{ "_id" : ObjectId("5e0f6438d7df943a7cec4f94"), "StudentDetails" : [ { "StudentName" : "Chris", "ListOfSubject" : [ "MySQL", "Java", "MongoDB" ] } ] }
廣告