在本页面
以下修饰符可用于更新操作;例如在db.collection.update()
和中 db.collection.findAndModify()
。
在以下格式的文档中指定运算符表达式:
{
<operator1>: { <field1>: <value1>, ... },
<operator2>: { <field2>: <value2>, ... },
...
}
注意
有关特定运算符的详细信息,包括语法和示例,请单击特定运算符以转到其参考页。
更新运算符
字段
名称 | 描述 |
---|---|
$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 |
执行按位AND ,OR 和XOR 整数值的更新。 |
译者:李冠飞
校对:
参见
原文 - Update Operators