当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MongoDB $mul用法及代码示例


MongoDB 提供了不同类型的字段更新运算符来更新文档字段的值,$mul 运算符就是其中之一。此运算符用于将字段的值乘以一个数字。

  • $mul 运算符只更新那些值为数字类型的字段,如 int、float 等。
  • 如果文档中不存在指定的字段,则此运算符将在文档中添加该字段并将该字段的值分配给与乘数相同的数字类型的零。
  • 此运算符是单个文档中的原子操作。
  • 在此运算符中,与 32 位整数、64 位整数、浮点数等混合数字类型的值相乘可能会导致数字类型的转换。以下规则适用于与混合数字类型的值的乘法:
    32 位整数64 位整数漂浮
    32 位整数32 位或 64 位整数64 位整数Float
    64 位整数64 位整数64 位整数Float
    FloatFloatFloatFloat

    $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)}})




相关用法


注:本文由纯净天空筛选整理自ankita_saini大神的英文原创作品 MongoDB – Multiply Operator ($mul)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。