Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$multiply
El $multiply operador de Amazon DocumentDB se utiliza para multiplicar los valores de dos o más campos o expresiones. Este operador es particularmente útil para realizar operaciones aritméticas en campos numéricos de documentos. Se puede emplear en varias etapas del proceso de agregación, como $project y$addFields, para crear nuevos campos o modificar los existentes.
Parámetros
-
expression1: la primera expresión numérica que se va a multiplicar. -
expression2: la segunda expresión numérica que se va a multiplicar. -
[expression3, ...]: (opcional) Expresiones numéricas adicionales que se van a multiplicar.
Ejemplo (MongoDB Shell)
En el siguiente ejemplo, se muestra $multiply cómo calcular bonus_miles multiplicando base_miles y bonus_rate para los clientes que utilizaron una tarjeta de crédito para el viaje.
Ejemplos de documentos
db.miles.insertMany([ { "_id": 1, "customer_name": "Arnav Desai", "member_since": ISODate("1997-03-01T00:00:00Z"), "base_miles": 2500, "bonus_rate": 1.8, "credit_card": true, "trip_cost": 250 }, { "_id": 2, "customer_name": "Jorge Souza", "member_since": ISODate("2004-01-10T00:00:00Z"), "base_miles": 1890, "bonus_rate": 1.4, "credit_card": true, "trip_cost": 189 }, { "_id": 3, "customer_name": "Saanvi Sarkar", "member_since": ISODate("1999-11-22T00:00:00Z"), "base_miles": 3250, "bonus_rate": 1.8, "credit_card": false, "trip_cost": 325 }, { "_id": 4, "customer_name": "Paulo Santos", "member_since": ISODate("2021-06-19T00:00:00Z"), "base_miles": 2980, "bonus_rate": 1.2, "credit_card": true, "trip_cost": 298 }, { "_id": 5, "customer_name": "Wang Xiulan", "member_since": ISODate("1995-12-04T00:00:00Z"), "base_miles": 1350, "bonus_rate": 1.9, "credit_card": false, "trip_cost": 135 } ]);
Ejemplo de consulta
db.miles.aggregate([ { $match: { credit_card: true } }, { $project: { customer_name: 1, base_miles: 1, bonus_rate:1, credit_card: 1, total_miles: { $multiply: ["$base_miles", "$bonus_rate"] } } } ]);
Salida
[
{ _id: 1, customer_name: 'Arnav Desai', base_miles: 12500, bonus_rate: 1.8, credit_card: true, total_miles: 22500 },
{ _id: 3, customer_name: 'Saanvi Sarkar',base_miles: 15200, bonus_rate: 1.8, credit_card: true, total_miles: 27360 },
{ _id: 4, customer_name: 'Paulo Santos', base_miles: 3400, bonus_rate: 1.1, credit_card: true, total_miles: 3740 }
]
Ejemplos de código
Para ver un ejemplo de código para usar el $multiply comando, elija la pestaña del idioma que desee usar: