$inc
Definition
$inc
- The
$inc
operator increments a field by a specified value andhas the following form:
- { $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }
To specify a <field>
in an embedded document or in an array, usedot notation.
Behavior
The $inc
operator accepts positive and negative values.
If the field does not exist, $inc
creates the field and setsthe field to the specified value.
Use of the $inc
operator on a field with a null value willgenerate an error.
$inc
is an atomic operation within a single document.
Example
Consider a collection products
with the following document:
- {
- _id: 1,
- sku: "abc123",
- quantity: 10,
- metrics: {
- orders: 2,
- ratings: 3.5
- }
- }
The following update()
operation uses the$inc
operator to decrease the quantity
field by 2
(i.e. increase by -2
) and increase the "metrics.orders"
fieldby 1
:
- db.products.update(
- { sku: "abc123" },
- { $inc: { quantity: -2, "metrics.orders": 1 } }
- )
The updated document would resemble:
- {
- "_id" : 1,
- "sku" : "abc123",
- "quantity" : 8,
- "metrics" : {
- "orders" : 3,
- "ratings" : 3.5
- }
- }
See also