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.
$switch
Nuevo desde la versión 4.0.
No es compatible con el clúster de Elastic.
El $switch operador es un operador de expresión condicional de Amazon DocumentDB que le permite evaluar una lista de expresiones de mayúsculas y minúsculas y devolver el valor del primer caso que se evalúe como verdadero o un valor predeterminado si ninguna expresión de mayúsculas y minúsculas es verdadera.
Parámetros
-
branches: matriz de documentos, cada uno de los cuales tiene un campo de mayúsculas y minúsculas que contiene la expresión booleana que se va a evaluar y un campo que contiene el valor que se debe devolver si la expresión de mayúsculas y minúsculas es verdadera. -
default: (opcional) El valor que se devolverá si ninguna de las expresiones entre mayúsculas y minúsculas es verdadera.
Ejemplo (MongoDB Shell)
El siguiente ejemplo demuestra el uso del $switch operador para determinar el coste de envío de un pedido en función del total del pedido.
Cree documentos de muestra
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
Ejemplo de consulta
db.orders.aggregate([ { $project: { _id: 1, total: 1, shippingCost: { $switch: { branches: [ { case: { $lte: ["$total", 100] }, then: 5 }, { case: { $lte: ["$total", 200] }, then: 10 }, { case: { $gt: ["$total", 200] }, then: 15 } ], default: 0 } } } } ])
Salida
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
Ejemplos de código
Para ver un ejemplo de código para usar el $switch comando, elija la pestaña del idioma que desee usar: