MongoDB查询以从数组中删除元素作为子属性
要删除,请在MongoDB中使用$pull。首先让我们创建一个包含文档的集合-
> db.demo388.insertOne( ... { ... _id: '101', ... userDetails: { ... isMarried: false, ... userInfo: [ ... { ... Name:"Chris", ... Age:21 ... ... } ... ] ... } ... } ... ); { "acknowledged" : true, "insertedId" : "101" }
在find()方法的帮助下显示集合中的所有文档-
> db.demo388.find();
这将产生以下输出-
{ "_id" : "101", "userDetails" : { "isMarried" : false, "userInfo" : [ { "Name" : "Chris", "Age" : 21 } ] } }
以下是从数组中删除元素作为子属性的查询-
> db.demo388.update( ... { "_id": "101" }, ... { "$pull": { "userDetails.userInfo": { "Name":"Chris" } } ... }) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在find()方法的帮助下显示集合中的所有文档-
> db.demo388.find();
这将产生以下输出-
{ "_id" : "101", "userDetails" : { "isMarried" : false, "userInfo" : [ ] } }