📜  MongoDB – $pullAll 运算符(1)

📅  最后修改于: 2023-12-03 14:44:21.919000             🧑  作者: Mango

MongoDB – $pullAll 运算符

在 MongoDB 中,$pullAll 运算符用于从数组中删除指定的值。本文将介绍 $pullAll 运算符的使用方法以及示例。

语法
{
  $pullAll: { <field>: [ <value1>, <value2>, ... ] }
}
  • <field>:要修改的数组字段
  • <value1>, <value2>, ...:要从数组中删除的值
示例

假设有一个名为 cars 的集合,其中包含文档:

{
  "make": "Toyota",
  "model": "Camry",
  "year": 2018,
  "colors": ["white", "black", "red", "blue"]
}

我们想要从 colors 数组中删除 white 和 black。我们可以使用以下命令来实现:

db.cars.update(
    { "make": "Toyota", "model": "Camry" },
    { $pullAll: { "colors": ["white", "black"] } }
)

执行该命令后,文档的 colors 数组将变为 ["red", "blue"]。

注意事项
  1. $pullAll 运算符只能删除数组中出现的所有指定值,如果要删除所有元素,可以使用 $unset 运算符。
  2. $pullAll 运算符适用于数组类型字段,如果字段不是数组类型,则会返回错误信息。