为此,请使用update命令和$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" ] } ] }