更新运算符

    在本页面

    以下修饰符可用于更新操作;例如在db.collection.update()和中 db.collection.findAndModify()

    在以下格式的文档中指定运算符表达式:

    1. {
    2. <operator1>: { <field1>: <value1>, ... },
    3. <operator2>: { <field2>: <value2>, ... },
    4. ...
    5. }

    注意

    有关特定运算符的详细信息,包括语法和示例,请单击特定运算符以转到其参考页。

    更新运算符

    字段

    名称 描述
    $currentDate 将字段的值设置为当前日期,即日期或时间戳。
    $inc 将字段的值增加指定的数量。
    $min 仅当指定值小于现有字段值时才更新该字段。
    $max 仅当指定值大于现有字段值时才更新该字段。
    $mul 将字段的值乘以指定的数量。
    $rename 重命名字段。
    $set 设置文档中字段的值。
    $setOnInsert 如果更新导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。
    $unset 从文档中删除指定的字段。

    数组

    运算符

    名称 描述
    $ 充当占位符,以更新与查询条件匹配的第一个元素。
    $[] 充当占位符,以更新匹配查询条件的文档的数组中的所有元素。
    $[<identifier>] 充当占位符,以更新arrayFilters与查询条件匹配的文档中所有与条件匹配的元素。
    $addToSet 仅当元素不存在于集合中时才将它们添加到数组中。
    $pop 删除数组的第一项或最后一项。
    $pull 删除与指定查询匹配的所有数组元素。
    $push 将项目添加到数组。
    $pullAll 从数组中删除所有匹配的值。

    修饰符

    名称 描述
    $each 修改$push$addToSet运算符以附加多个项以进行数组更新。
    $position 修改$push运算符以指定要添加元素的数组中的位置。
    $slice 修改$push运算符以限制更新数组的大小。
    $sort 修改$push运算符以对存储在数组中的文档重新排序。

    按位

    名称 描述
    $bit 执行按位ANDORXOR整数值的更新。

    译者:李冠飞

    校对:

    参见

    原文 - Update Operators