En esta publicación, discutiremos cómo multiplicar los valores de un campo dado con un número específico usando el operador $ MUL.
MongoDB $ MUL Operador
El operador $ mu o de multiplicación nos permite multiplicar el valor de un campo dado con un valor numérico específico.
La sintaxis del operador es como se muestra:
$ mul:: ,…
Es bueno asegurarse de que el campo de destino contenga un valor numérico. De lo contrario, el operador falla si encuentra un valor no numérico.
También puede usar la notación de puntos para acceder a un campo ubicado en un documento integrado o una matriz.
Si el campo especificado no existe en el documento de destino, el operador crea el archivo definido y establece el valor en un cero con tipo similar al número de multiplicador.
También es bueno recordar las reglas de conversión que pueden aplicarse al realizar multiplicaciones en varios tipos. La siguiente tabla muestra las conversiones de tipo compatibles:
Veamos un ejemplo del mundo real sobre cómo usar el operador $ MUL.
Ejemplo de colección y documentos
Supongamos que tenemos una colección que contiene información de producto como se muestra:
Prueba> DB.createCollection ("Productos")
OK: 1
Prueba> DB.productos.insertmany ([
… _Id: 1, Product_Name: "Product_1", Precio: 100, Cantidad: 78,
… _Id: 2, Product_Name: "Product_2", Precio: 4500, Cantidad: 344,
… _Id: 3, Product_Name: "Product_3", Precio: 45, Cantidad: 200
…]);
Reconocido: True, InsertedIDS: '0': 1, '1': 2, '2': 3
Ejemplo:
El siguiente ejemplo muestra una operación simple sobre cómo usar el operador $ MUL:
Prueba> DB.productos.updateOne (_id: 1, $ mul: precio: 2);
La consulta anterior debe multiplicar el precio por 2 y en el documento con la ID de 1.
Producción:
Reconocido: verdadero,
Insertedid: NULL,
MatchedCount: 1,
ModifiedCount: 1,
UpsertedCount: 0
Podemos encontrar los documentos coincidentes de la siguiente manera:
Prueba> DB.productos.encontrar();
Documentos resultantes:
[
_id: 1, Product_Name: 'Product_1', Precio: 200, Cantidad: 78,
_id: 2, Product_Name: 'Product_2', Precio: 4500, Cantidad: 344,
_id: 3, Product_Name: 'Product_3', Precio: 45, Cantidad: 200
]
Podemos ver que el documento actualiza el primer documento para tener un precio de 200.
Si desea actualizar más de un campo, puede usar la solicitud como se muestra en la siguiente:
Prueba> DB.productos.updateOne (_id: 1, $ mul: precio: 2, Qty: 100);
En este caso, la consulta actualiza el precio y la cantidad del primer documento como se muestra en el siguiente resultado:
Prueba> DB.productos.find (_ id: 1);
Resultado:
[_id: 1, product_name: 'Product_1', Precio: 400, Cantidad: 7800]
Conclusión
En esta guía, aprendió a usar el operador de multiplicación en MongoDB Shell. Consulte los documentos para obtener más información.