MongoDB – $pullAll 运算符
MongoDB 提供了不同类型的数组更新运算符来更新文档中数组字段的值, $pullAll
运算符就是其中之一。此运算符用于从现有数组中删除指定值的所有实例。这是从$拉动运算符不同, $pull
运算符指定的查询中删除的项目,而$ pullAll运算符移开匹配所列值的项目。您可以根据需要将此运算符与 update()、findAndModify() 等方法一起使用。
句法:
{ $pullAll: { : [ , ... ], ... } }
在这里, field可以在嵌入/嵌套文档或数组中使用点符号指定,如果value是数组或文档,则$pullAll
运算符将仅删除数组中与指定值匹配的那些项目。
注意: $pullAll
运算符将按照它们在value中指定的相同顺序从数组中删除项目。
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: contributor
Document: two documents that contain the details of the contributor in the form of field-value pairs.
使用 $pullAll运算符从数组中删除项目:
在这个例子中,我们将在 $pullAll运算符的帮助下从语言字段中删除列表中指定的项目,即 [“ Java”、“C#”、“Python ”]。
db.contributor.update({name: "Rohit"},
{$pullAll: {language: ["Java", "C#", "Python"]}})
使用 $pullAll运算符从嵌入文档中的数组中删除项目:
在此示例中,我们将在 $pullAll运算符的帮助下从个人.semesterMarks 字段中删除列表中指定的项目,即 [71, 72]。
db.contributor.update({name: "Sumit"},
{$pullAll: {"personal.semesterMarks": [71, 72]}})