使用 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" ] } ] }
广告