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.