在 MongoDB 中更新巢狀文件
要更新巢狀文件,請使用 $set。讓我們建立一個包含文件的集合 -
> db.demo315.insertOne({ _id :101, ... details: [ ... {Name: 'Chris', subjects: [{id:1001, SubjectName:"MySQL"}]} ... ] ... } ...) { "acknowledged" : true, "insertedId" : 101 }
在 find() 方法的幫助下從集合中顯示所有文件 -
> db.demo315.find().pretty();
這將產生以下輸出 -
{ "_id" : 101, "details" : [ { "Name" : "Chris", "subjects" : [ { "id" : 1001, "SubjectName" : "MySQL" } ] } ] }
以下是 MongoDB 中更新巢狀文件的查詢 -
> db.demo315.update ({_id:101}, { '$set': {"details.0.subjects.1.id" :1004} }) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在 find() 方法的幫助下從集合中顯示所有文件 -
> db.demo315.find().pretty();
這將產生以下輸出 -
{ "_id" : 101, "details" : [ { "Name" : "Chris", "subjects" : [ { "id" : 1001, "SubjectName" : "MySQL" }, { "id" : 1004 } ] } ] }
廣告