更新操作符
2025年02月26日
前言
一、字段
1.1 $currentDate
$currentDate
将字段的值设置为当前日期,可以是日期或时间戳。
1.2 $inc
$inc
将字段的值按指定量递增。
1.3 $min
$min
仅当指定值小于现有字段值时才更新字段。
1.4 $max
$max
仅当指定值大于现有字段值时才更新字段。
1.5 $mul
$mul
将字段的值乘以指定量。
1.6 $rename
$rename
重命名字段。
1.7 $set
$set
设置文档中字段的值。
1.8 $setOnInsert
$setOnInsert
如果某一更新操作导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。
1.9 $unset
$unset
从文档中删除指定的字段。
二、阵列
2.1 $
$
充当占位符,用于更新与查询条件匹配的第一个元素。
2.2 $[]
$[]
充当占位符,以更新数组中与查询条件匹配的文档中的所有元素。
2.3 $[<identifier>]
$[<identifier>]
充当占位符,以更新与查询条件匹配的文档中所有符合 arrayFilters 条件的元素。
2.4 $addToSet
$addToSet
仅向数组中添加尚不存在于该数组的元素。
2.5 $pop
$pop
删除数组的第一项或最后一项。
2.6 $pull
$pull
删除与指定查询匹配的所有数组元素。
2.7 $push
$push
向数组添加一项。
2.8 $pullAll
$pullAll
从数组中删除所有匹配值。
三、Modifiers
3.1 $each
$each
修改 addToSet 运算符,以在数组更新时追加多个项目。
3.2 $position
$position
修改 $push 运算符,以指定在数组中添加元素的位置。
3.3 $slice
$slice
修改 $push 运算符以限制更新后数组的大小。
3.4 $sort
$sort
修改 $push 运算符,以对存储在数组中的文档重新排序。
四、Bitwise
4.1 $bit
$bit
对整数值执行按位 AND、OR 和 XOR 更新。