As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$switch
Novo a partir da versão 4.0.
Não é compatível com o cluster elástico.
O $switch operador é um operador de expressão condicional no Amazon DocumentDB que permite avaliar uma lista de expressões de caso e retornar o valor do primeiro caso avaliado como verdadeiro ou um valor padrão se nenhuma expressão de caso for verdadeira.
Parâmetros
-
branches: uma matriz de documentos, cada um com um campo de caso que contém a expressão booleana a ser avaliada e um campo then que contém o valor a ser retornado se a expressão de maiúsculas e minúsculas for verdadeira. -
default: (opcional) O valor a ser retornado se nenhuma das expressões de maiúsculas e minúsculas for verdadeira.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra o uso do $switch operador para determinar o custo de envio de um pedido com base no total do pedido.
Crie documentos de amostra
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
Exemplo 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 } } } } ])
Saída
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
Exemplos de código
Para ver um exemplo de código para usar o $switch comando, escolha a guia do idioma que você deseja usar: