MongoDB 查询以在文档中添加新的数组元素


要向 MongoDB 文档中添加新的数组元素,使用 $(projection) 并与 update() 搭配使用。我们创建一个包含文档的集合 -

>db.demo222.insertOne({"details":[{"StudentName":"Chris","StudentMarks":78},{"StudentName":"David","StudentMarks":89}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ee31703d395bdc213472f")
}

使用 find() 方法显示集合中的所有文档 -

> db.demo222.find().pretty();

这将产生以下输出 -

{
   "_id" : ObjectId("5e3ee31703d395bdc213472f"),
   "details" : [
      {
         "StudentName" : "Chris",
         "StudentMarks" : 78
      },
      {
         "StudentName" : "David",
         "StudentMarks" : 89
      }
   ]
}

下面是向文档中添加新数组元素的查询 -

> db.demo222.update({"details.StudentName" : "Chris"},{"$set" : {"details.$.SubjectName":"MongoDB"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

使用 find() 方法显示集合中的所有文档 -

> db.demo222.find().pretty();

这将产生以下输出 -

{
   "_id" : ObjectId("5e3ee31703d395bdc213472f"),
   "details" : [
      {
         "StudentName" : "Chris",
         "StudentMarks" : 78,
         "SubjectName" : "MongoDB"
      },
      {
         "StudentName" : "David",
         "StudentMarks" : 89
      }
   ]
}

更新于: 30-Mar-2020

435 次浏览

启动 职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.