如何在 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"
}
]
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Linux
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP