更新操作符
以下修饰符可用于更新操作,例如,在 db.collection.updateMany()
和 db.collection.findAndModify()
中。
兼容性
您可以对如下环境中托管的部署使用更新运算符:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 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
之前。
字段
名称 | 说明 |
---|---|
将字段的值设置为当前日期,可以是日期或时间戳。 | |
将字段的值按指定量递增。 | |
仅当指定值小于现有字段值时才更新字段。 | |
仅当指定值大于现有字段值时才更新字段。 | |
将字段的值乘以指定量。 | |
重命名字段。 | |
设置文档中字段的值。 | |
如果某一更新操作导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。 | |
从文档中删除指定的字段。 |
阵列
操作符
Modifiers
Bitwise
名称 | 说明 |
---|---|
对整数值执行按位 AND 、OR 和 XOR 更新。 |