文档菜单
文档首页
/
MongoDB 手册
/ /

更新运算符

在本页面上

  • 兼容性
  • 语法
  • 更新运算符

以下修饰符可用于更新操作,例如,在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" 之前处理,因为在数字顺序中 210 之前。

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

返回

$rand