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" : [ ] } }