如何在 MongoDB 数组中删除元素?
要删除元素并更新,在 MongoDB 中使用 $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" ] } }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP