参考 > 参考 > 经营者 > 更新运算符 > 数组更新运算符 > $ pullAll
在本页面
$pullAll
的$pullAll操作者可删除指定的值的所有实例从现有的阵列。与$pull 通过指定查询$pullAll删除元素的运算符不同, 删除与列出的值匹配的元素。
$pull
该$pullAll运营商的形式为:
{ $pullAll: { <field1>: [ <value1>, <value2> ... ], ... } }
要<field>在嵌入式文档或数组中指定,请使用 点符号。
<field>
如果<value>要删除的是文档或数组,则 $pullAll仅删除数组中与指定<value>精确匹配的元素(包括顺序)。
<value>
给定survey集合中的以下文档:
survey
{ _id: 1, scores: [ 0, 2, 5, 5, 1, 0 ] }
以下操作去除的值的所有实例0和 5从scores阵列:
0
5
scores
db.survey.update( { _id: 1 }, { $pullAll: { scores: [ 0, 5 ] } } )
操作完成后,更新后的文档将具有的所有实例,0 并5已从scores字段中删除:
{ "_id" : 1, "scores" : [ 2, 1 ] }
也可以看看
db.collection.update(), db.collection.findAndModify()
db.collection.update()
db.collection.findAndModify()