在 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 } ] } ] }
广告