- Reference >
- Operators >
- Update Operators >
- Field Update Operators >
- $mul
$mul¶
On this page
Definition¶
-
$mul¶ New in version 2.6.
Multiply the value of a field by a number. To specify a
$mulexpression, use the following prototype:The field to update must contain a numeric value.
To specify a
<field>in an embedded document or in an array, use dot notation.
Behavior¶
If the field does not exist in a document, $mul creates the
field and sets the value to zero of the same numeric type as the
multiplier.
Multiplication with values of mixed numeric types (32-bit integer, 64-bit integer, float) may result in conversion of numeric type. See Multiplication Type Conversion Rules for details.
$mul is an atomic operation within a single document.
Examples¶
Multiply the Value of a Field¶
Consider a collection products with the following document:
The following db.collection.update() operation updates the
document, using the $mul operator to multiply the value in
the price field by 1.25:
The operation results in the following document, where the new value of
the price field 13.7375 reflects the original value 10.99
multiplied by 1.25:
Apply $mul Operator to a Non-existing Field¶
Consider a collection products with the following document:
The following db.collection.update() operation updates the
document, applying the $mul operator to the field price
that does not exist in the document:
The operation results in the following document with a price field
set to value 0 of numeric type NumberLong, the same type as
the multiplier:
Multiply Mixed Numeric Types¶
Consider a collection products with the following document:
The following db.collection.update() operation uses the
$mul operator to multiply the value in the price field
NumberLong(10) by NumberInt(5):
The operation results in the following document:
The value in the price field is of type NumberLong. See
Multiplication Type Conversion Rules for details.