MongoDB – Operador de multiplicación ($mul)

MongoDB proporciona diferentes tipos de operadores de actualización de campos para actualizar los valores de los campos de los documentos y el operador $mul es uno de ellos. Este operador se utiliza para multiplicar el valor del campo por un número.

  • El operador $mul solo actualiza aquellos campos cuyo valor es de tipo numérico como int, float, etc.
  • Si el campo especificado no está presente en el documento, este operador agregará ese campo en el documento y asignará el valor de ese campo a cero del mismo tipo numérico que el multiplicador.
  • Este operador es una operación atómica dentro de un solo documento.
  • En este operador, la multiplicación con valores de tipos numéricos mixtos como entero de 32 bits, entero de 64 bits, flotante, etc., puede dar como resultado una conversión de tipo numérico. Las siguientes reglas se aplican en la multiplicación con los valores de tipos numéricos mixtos:
    Entero de 32 bits Entero de 64 bits Flotar
    Entero de 32 bits Entero de 32 o 64 bits Entero de 64 bits Flotar
    Entero de 64 bits Entero de 64 bits Entero de 64 bits Flotar
    Flotar Flotar Flotar Flotar
  • El operador $mul también puede trabajar con arrays o documentos incrustados/anidados. Puede usar este operador en métodos como update(), findAndModify(), etc., según sus requisitos.

    Sintaxis:

    { $mul: { <field1>: <number1>, <field2>: <number2>, ... } }

    Aquí, <field>puede especificar con notación de puntos en documentos incrustados/anidados.

    En los siguientes ejemplos, estamos trabajando con:

    Base de datos: Frutas
    Colección: Documento de detalles
    : dos documentos que contienen los detalles de las frutas en forma de pares de campo-valor.

    Multiplicando el valor de un campo:

    En este ejemplo, estamos multiplicando el valor del campo de precio por 2,10 en el documento que coincide con la condición especificada, es decir, nombre = mango.

    db.Details.update({name: "mango"}, {$mul: {price: NumberDecimal("2.10")}})
    

    Multiplicando el valor de un campo en el documento incrustado/anidado:

    En este ejemplo, estamos multiplicando el valor del campo cantidad.tCantidad por 3 en el documento que coincide con la condición especificada, es decir, nombre = mango.

    db.Details.update({name: "mango"}, {$mul: {"quantity.tQuantity": 3}})
    

    Usando $mul el operador a un campo inexistente:

    En este ejemplo, estamos aplicando el operador $mul a un campo no existente en el documento que coincide con la condición especificada, es decir, nombre = manzana.

    db.Details.update({name: "apple"}, {$mul: {"batchNumber":NumberInt(230)}})
    

    Usando $mul el operador para multiplicar el tipo numérico mixto:

    En este ejemplo, estamos multiplicando el valor (tipo flotante) del campo de precio en el documento que coincide con la condición especificada, es decir, nombre = manzana.

    db.Details.update({name: "apple"}, {$mul: {price: NumberDecimal(5)}})
    

    Publicación traducida automáticamente

    Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *