MongoDB 提供了不同類型的字段更新運算符來更新文檔字段的值,$mul 運算符就是其中之一。此運算符用於將字段的值乘以一個數字。
- $mul 運算符隻更新那些值為數字類型的字段,如 int、float 等。
- 如果文檔中不存在指定的字段,則此運算符將在文檔中添加該字段並將該字段的值分配給與乘數相同的數字類型的零。
- 此運算符是單個文檔中的原子操作。
- 在此運算符中,與 32 位整數、64 位整數、浮點數等混合數字類型的值相乘可能會導致數字類型的轉換。以下規則適用於與混合數字類型的值的乘法:
32 位整數 64 位整數 漂浮 32 位整數 32 位或 64 位整數 64 位整數 Float 64 位整數 64 位整數 64 位整數 Float Float Float Float Float $mul 運算符還可以處理嵌入/嵌套的文檔或數組。您可以根據需要在 update()、findAndModify() 等方法中使用此運算符。
用法:
{ $mul:{ <field1>:<number1>, <field2>:<number2>, ... } }
這裏,
<field>
可以在嵌入/嵌套文檔中使用點符號指定。在以下示例中,我們正在使用:
Database: Fruits
Collection: Details
Document: two documents that contain the details of the fruits in the form of field-value pairs.乘以一個字段的值:
在這個例子中,我們將匹配指定條件的文檔中的 price 字段的值乘以 2.10,即 name = mango。
db.Details.update({name:"mango"}, {$mul:{price:NumberDecimal("2.10")}})
將嵌入/嵌套文檔中字段的值相乘:
在這個例子中,我們將匹配指定條件的文檔中的quantity.tQuantity字段的值乘以3,即name = mango。
db.Details.update({name:"mango"}, {$mul:{"quantity.tQuantity":3}})
使用
$mul
運算符到不存在的字段:在此示例中,我們將 $mul 運算符應用於文檔中與指定條件匹配的非現有字段,即 name = apple。
db.Details.update({name:"apple"}, {$mul:{"batchNumber":NumberInt(230)}})
使用
$mul
運算符乘以混合數字類型:在這個例子中,我們將匹配指定條件的文檔中的 price 字段的值(浮點型)相乘,即 name = apple。
db.Details.update({name:"apple"}, {$mul:{price:NumberDecimal(5)}})
相關用法
- MongoDB $multiply用法及代碼示例
- MongoDB $in用法及代碼示例
- MongoDB $max用法及代碼示例
- MongoDB $min用法及代碼示例
- MongoDB $inc用法及代碼示例
- MongoDB $rename用法及代碼示例
- MongoDB $setOnInsert用法及代碼示例
注:本文由純淨天空篩選整理自ankita_saini大神的英文原創作品 MongoDB – Multiply Operator ($mul)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。