匹配元素并从数组中删除元素的MongoDB查询?
要匹配并删除元素,请使用 MongoDB $pullAll。我们先用文档创建一个集合——
> db.removeElementsDemo.insertOne({"ListOfNames":["Mike","Sam","David","Carol"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e071e5a25ddae1f53b62203") }
以下是使用 find() 方法显示集合中所有文档的查询——
> db.removeElementsDemo.find().pretty();
这会产生以下输出——
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David", "Carol" ] }
以下是匹配并从数组中删除元素的查询——
> db.removeElementsDemo.update( ... { }, ... { ... $pullAll: ... { ... "ListOfNames": ["Carol"] ... } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
以下是使用 find() 方法显示集合中所有文档的查询——
> db.removeElementsDemo.find().pretty();
这会产生以下输出。我们只删除了一个值——
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David" ] }
广告