如何在 MongoDB 中向巢狀陣列中新增新項?
為此,請結合使用 find() 和 update()。讓我們建立一個包含文件的集合−
> db.demo124.insertOne( ... { ... "Name" : "John", ... "Id" : 101, ... "ProjectDetails" : [{ ... "ProjectName1" : "Online Book", ... "ProjectName2" : "Online Banking" ... }, { ... "ProjectName1" : "Online Library Management System", ... "ProjectName2" : "School Management System" ... }] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e2f2c8b140daf4c2a3544bb") }
使用 find() 方法顯示集合中的所有文件−
> db.demo124.find();
這將產生以下輸出−
{ "_id" : ObjectId("5e2f2c8b140daf4c2a3544bb"), "Name" : "John", "Id" : 101, "ProjectDetails" : [ { "ProjectName1" : "Online Book", "ProjectName2" : "Online Banking" }, { "ProjectName1" : "Online Library Management System", "ProjectName2" : "School Management System" } ] }
以下是向巢狀陣列新增新項的查詢−
> db.demo124.find().toArray().forEach( ... function(d){ ... for(var i = 0; i< d.ProjectDetails.length; ++i) { ... d.ProjectDetails[i]['ProjectName3'] = 'Online Snake Game'; ... } ... db.demo124.update({_id: d._id}, d); ... } ... );
使用 find() 方法顯示集合中的所有文件−
> db.demo124.find().pretty();
這將產生以下輸出−
{ "_id" : ObjectId("5e2f2c8b140daf4c2a3544bb"), "Name" : "John", "Id" : 101, "ProjectDetails" : [ { "ProjectName1" : "Online Book", "ProjectName2" : "Online Banking", "ProjectName3" : "Online Snake Game" }, { "ProjectName1" : "Online Library Management System", "ProjectName2" : "School Management System", "ProjectName3" : "Online Snake Game" } ] }
廣告