跳到主要内容

更新操作符

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 修改 pushpush 和 addToSet 运算符,以在数组更新时追加多个项目。

3.2 $position

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

3.3 $slice

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

3.4 $sort

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

四、Bitwise


4.1 $bit

$bit 对整数值执行按位 AND、OR 和 XOR 更新。