“文档” 菜单
文档首页
/
MongoDB Manual
/ /

更新操作符

在此页面上

  • 兼容性
  • 语法
  • 更新操作符

以下修饰符可用于更新操作,例如,在 db.collection.updateMany()db.collection.findAndModify()中。

您可以对如下环境中托管的部署使用更新运算符:

  • MongoDB Atlas :用于在云中部署 MongoDB 的完全托管服务

在以下格式的文档中指定操作符表达式:

{
<operator1>: { <field1>: <value1>, ... },
<operator2>: { <field2>: <value2>, ... },
...
}

注意

有关特定操作符(包括事务语法和示例)的详细信息,请单击该操作符的参考页面链接。

从 MongoDB 5.0 开始,更新运算符按字典顺序处理具有基于字符串的名称的文档字段。具有数字名称的字段按数字顺序处理。

参考该 $set 命令示例:

{ $set: { "a.2": <new value>, "a.10": <new value>, } }

在 MongoDB 5.0 及更高版本中,"a.2""a.10" 之前处理,因为 2 按数字顺序排在 10 之前。

名称
说明
$currentDate
将字段的值设置为当前日期,可以是日期或时间戳。
将字段的值按指定量递增。
仅当指定值小于现有字段值时才更新字段。
仅当指定值大于现有字段值时才更新字段。
将字段的值乘以指定量。
重命名字段。
设置文档中字段的值。
如果某一更新操作导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。
从文档中删除指定的字段。
名称
说明
充当占位符,用于更新与查询条件匹配的第一个元素。
充当占位符,以更新数组中与查询条件匹配的文档中的所有元素。
充当占位符,以更新与查询条件匹配的文档中所有符合 arrayFilters 条件的元素。
仅向数组中添加尚不存在于该数组的元素。
删除数组的第一项或最后一项。
删除与指定查询匹配的所有数组元素。
向数组添加一项。
从数组中删除所有匹配值。
名称
说明
修改 $push$addToSet 运算符,以在数组更新时追加多个项目。
修改 $push 运算符,以指定在数组中添加元素的位置。
修改 $push 运算符以限制更新后数组的大小。
修改 $push 运算符,以对存储在数组中的文档重新排序。
名称
说明
对整数值执行按位 ANDORXOR 更新。
← $natural