如何删除MongoDB数组中的元素?

要删除元素,请在MongoDB中使用update和$pull。$pull运算符从现有数组中删除一个或多个符合指定条件的值的所有实例。

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

db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{

   "acknowledged" : true,

   "insertedId" : ObjectId("5e8ca845ef4dcbee04fbbc11")

}

> db.demo541.insertOne({"software":{"services":["whatsapp","twitter"]}});{

   "acknowledged" : true,

   "insertedId" : ObjectId("5e8ca85cef4dcbee04fbbc12")

}

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

> db.demo541.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook", "yahoo" ] } }

{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }

以下是删除MongoDB数组中的元素的查询-

> db.demo541.update({ _id: ObjectId("5e8ca845ef4dcbee04fbbc11") },

...    { $pull: { 'software.services': "yahoo" }}

... );

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

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

> db.demo541.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook" ] } }

{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }

以上是 如何删除MongoDB数组中的元素? 的全部内容, 来源链接: utcz.com/z/322587.html

回到顶部