Update Operators更新运算符

On this page本页内容

The following modifiers are available for use in update operations; e.g. in db.collection.update() and db.collection.findAndModify().以下修饰符可用于更新操作;例如,在db.collection.update()db.collection.findAndModify()中。

Specify the operator expression in a document of the form:在以下格式的文档中指定运算符表达式:

{
   <operator1>: { <field1>: <value1>, ... },
   <operator2>: { <field2>: <value2>, ... },
   ...
}

Note

For details on specific operator, including syntax and examples, click on the specific operator to go to its reference page.有关特定运算符的详细信息,包括语法和示例,请单击特定运算符以转到其参考页。

Update Operators更新运算符

Fields字段

Name名称Description描述
$currentDate Sets the value of a field to current date, either as a Date or a Timestamp.将字段的值设置为当前日期(作为日期或时间戳)。
$inc Increments the value of the field by the specified amount.将字段的值增加指定的量。
$min Only updates the field if the specified value is less than the existing field value.仅当指定值小于现有字段值时才更新字段。
$max Only updates the field if the specified value is greater than the existing field value.仅当指定值大于现有字段值时才更新字段。
$mul Multiplies the value of the field by the specified amount.将字段的值乘以指定的量。
$rename Renames a field.重命名字段。
$set Sets the value of a field in a document.设置文档中字段的值。
$setOnInsert Sets the value of a field if an update results in an insert of a document.如果更新导致插入文档,则设置字段的值。Has no effect on update operations that modify existing documents.对修改现有文档的更新操作没有影响。
$unset Removes the specified field from a document.从文档中删除指定的字段。

Array数组

Operators运算符

Name名称Description描述
$ Acts as a placeholder to update the first element that matches the query condition.充当占位符以更新与查询条件匹配的第一个元素。
$[] Acts as a placeholder to update all elements in an array for the documents that match the query condition.充当占位符,为匹配查询条件的文档更新数组中的所有元素。
$[<identifier>] Acts as a placeholder to update all elements that match the arrayFilters condition for the documents that match the query condition.充当占位符,为匹配查询条件的文档更新与arrayFilters条件匹配的所有元素。
$addToSet Adds elements to an array only if they do not already exist in the set.仅当集合中不存在元素时,才将元素添加到数组中。
$pop Removes the first or last item of an array.删除数组的第一项或最后一项。
$pull Removes all array elements that match a specified query.删除与指定查询匹配的所有数组元素。
$push Adds an item to an array.将项添加到数组中。
$pullAll Removes all matching values from an array.从数组中删除所有匹配值。

Modifiers修饰符

Name名称Description描述
$each Modifies the $push and $addToSet operators to append multiple items for array updates.修饰$push$addToSet运算符,以便为数组更新附加多个项。
$position Modifies the $push operator to specify the position in the array to add elements.修饰$push运算符以指定数组中要添加元素的位置。
$slice Modifies the $push operator to limit the size of updated arrays.修饰$push运算符以限制更新数组的大小。
$sort Modifies the $push operator to reorder documents stored in an array.修改$push运算符以对存储在数组中的文档重新排序。

Bitwise按位

Name名称Description描述
$bit Performs bitwise AND, OR, and XOR updates of integer values.执行整数值的按位ANDORXOR更新。