如何在 MongoDB 中删除子集合中的对象?
要删除子集合中的对象,请在 MongoDB 中使用 $pull。让我们创建一个文档集合 −
> db.demo715.insertOne({ ... _id:1, ... details : ... [ ... { 'id' : '101', ... 'Information' : [ ... { ... 'studentid' : '102', ... "Name":"Bob" ... }, ... { ... 'studentid' : '103', ... "Name":"Chris" ... } ... ] ... } ... ] ... }); { "acknowledged" : true, "insertedId" : 1 }
借助 find() 方法显示集合中的所有文档 −
> db.demo715.find();
这将产生以下输出 −
{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "102", "Name" : "Bob" }, { "studentid" : "103", "Name" : "Chris" } ] } ] }
以下是 MongoDB 中删除子集合中对象的查询 −
> db.demo715.update( ... {"details.id":'101'}, ... { $pull: { 'details.$.Information':{studentid:'102',"Name":"Bob"} } } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
借助 find() 方法显示集合中的所有文档 −
> db.demo715.find();
这将产生以下输出 −
{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "103", "Name" : "Chris" } ] } ] }
广告