On this page
Update Operators
在本页面
以下修饰符可用于更新操作;例如在db.collection.update()和db.collection.findAndModify()中。
在以下格式的文档中指定运算符表达式:
{
   <operator1>: { <field1>: <value1>, ... },
   <operator2>: { <field2>: <value2>, ... },
   ...
}
Note
有关特定运算符的详细信息,包括语法和示例,请单击特定运算符以转到其参考页。
Update Operators
Fields
| Name | Description | 
|---|---|
| $currentDate | 将字段的值设置为当前日期(日期或时间戳)。 | 
| $inc | 将字段的值增加指定的数量。 | 
| $min | 仅当指定值小于现有字段值时才更新该字段。 | 
| $max | 仅当指定值大于现有字段值时才更新该字段。 | 
| $mul | 将字段的值乘以指定的数量。 | 
| $rename | 重命名字段。 | 
| $set | 设置文档中字段的值。 | 
| $setOnInsert | 如果更新导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响。 | 
| $unset | 从文档中删除指定的字段。 | 
Array
Operators
| Name | Description | 
|---|---|
| $ | 充当占位符,以更新与查询条件匹配的第一个元素。 | 
| $[] | 充当占位符,以更新匹配查询条件的文档的数组中的所有元素。 | 
| $[<identifier>] | 充当占位符,以更新与查询条件匹配的文档中与 arrayFilters条件匹配的所有元素。 | 
| $addToSet | 仅当元素不存在于集合中时才将它们添加到数组中。 | 
| $pop | 删除数组的第一项或最后一项。 | 
| $pull | 删除与指定查询匹配的所有数组元素。 | 
| $push | 将项目添加到数组。 | 
| $pullAll | 从数组中删除所有匹配的值。 | 
Modifiers
| Name | Description | 
|---|---|
| $each | 修改$push和$addToSet运算符以附加多个项以进行数组更新。 | 
| $position | 修改$push运算符以指定要添加元素的数组中的位置。 | 
| $slice | 修改$push运算符以限制更新数组的大小。 | 
| $sort | 修改$push运算符以对存储在数组中的文档重新排序。 | 
Bitwise
| Name | Description | 
|---|---|
| $bit | 执行整数值的按位 AND,OR和XOR更新。 |