从 MongoDB 中嵌套在另一个数组中的数组中删除特定记录

要删除特定记录,请使用“ $pull”,由于我们正在更新已创建的集合,因此请使用UPDATE()。

让我们创建一个包含文档的集合-

> db.demo213.insertOne({

...   "id": 101,

...   "details1": [

...      {

...         "Name": "Chris",

...         "details2": [

...            {

...               "StudentName": "David",

...               "Subject": "MongoDB"

...            },

...            {

...               "StudentName": "Mike",

...               "Subject": "MySQL"

...            }

...         ]

...

...      }

...   ]

...}

...);

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5e3e300c03d395bdc2134704")

}

在find()方法的帮助下显示集合中的所有文档-

> db.demo213.find().pretty();

这将产生以下输出-

{

   "_id" : ObjectId("5e3e300c03d395bdc2134704"),

   "id" : 101,

   "details1" : [

      {

         "Name" : "Chris",

         "details2" : [

            {

               "StudentName" : "David",

               "Subject" : "MongoDB"

            },

            {

               "StudentName" : "Mike",

               "Subject" : "MySQL"

            }

         ]

      }

   ]

}

以下是从嵌套在另一个数组中的数组中删除特定记录的查询-

> db.demo213.update({"id": 101, "details1.Name": "Chris"},

...   {

...      "$pull": {"details1.$.details2" : { "Subject": "MySQL" }}

...   }, multi=true

...)

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在find()方法的帮助下显示集合中的所有文档-

> db.demo213.find().pretty();

这将产生以下输出-

{

   "_id" : ObjectId("5e3e300c03d395bdc2134704"),

   "id" : 101,

   "details1" : [

      {

         "Name" : "Chris",

         "details2" : [

            {

               "StudentName" : "David",

               "Subject" : "MongoDB"

            }

         ]

      }

   ]

}

以上是 从 MongoDB 中嵌套在另一个数组中的数组中删除特定记录 的全部内容, 来源链接: utcz.com/z/317172.html

回到顶部