Docs 菜单
Docs 主页
/
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 之前。

名称
说明

将字段的值设置为当前日期,可以是日期或时间戳。

将字段的值按指定量递增。

仅当指定值小于现有字段值时才更新字段。

仅当指定值大于现有字段值时才更新字段。

将字段的值乘以指定量。

重命名字段。

设置文档中字段的值。

如果某一更新操作导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。

从文档中删除指定的字段。

名称
说明

充当占位符,用于更新与查询条件匹配的第一个元素。

充当占位符,以更新数组中与查询条件匹配的文档中的所有元素。

充当占位符,以更新与查询条件匹配的文档中所有符合 arrayFilters 条件的元素。

仅向数组中添加尚不存在于该数组的元素。

删除数组的第一项或最后一项。

删除与指定查询匹配的所有数组元素。

向数组添加一项。

从数组中删除所有匹配值。

名称
说明

修改 $push$addToSet 运算符,以在数组更新时追加多个项目。

修改 $push 运算符,以指定在数组中添加元素的位置。

修改 $push 运算符以限制更新后数组的大小。

修改 $push 运算符,以对存储在数组中的文档重新排序。

名称
说明

对整数值执行按位 ANDORXOR 更新。

后退

$rand