$switch (Condicional de Múltiplas Ramificações)

Última atualização: 2026-10-09

$switch (Condicional de Múltiplas Ramificações)

$switch avalia várias ramificações de case em ordem e retorna o resultado then do primeiro case verdadeiro, como uma instrução switch de linguagem de programação. Quando nenhuma ramificação corresponde, retorna default; omitir default quando nada corresponde gera erro. Usos típicos: mapear códigos de status de pedido para rótulos ou classificar pontuações em faixas. Cada case segue as regras de veracidade. Comparado a $cond aninhado, $switch lê melhor e suporta ramificações ilimitadas.

CategoriaConjunto, Condição e Conversão
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $switch: { branches: [ { case: <condição>, then: <resultado> }, ... ], default: <padrão> } }

⚙️ Parâmetros

branchesA matriz de ramos; cada item tem uma condição case e um resultado then.
defaultValor opcional retornado quando nenhum caso corresponde.

Retorno:O then do primeiro caso verdadeiro, ou default quando nenhum corresponde

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $switch: classificar pedidos por valor
db.orders.aggregate([
  { $project: {
      tier: { $switch: { branches: [
        { case: { $gte: ['$amount', 1000] }, then: 'gold' },
        { case: { $gte: ['$amount', 100] }, then: 'silver' }
      ], default: 'bronze' } }
  } }
])

Saída:

{ '_id': 1, 'tier': 'silver' }
{ '_id': 2, 'tier': 'bronze' }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO que acontece quando nenhuma ramificação corresponde?
ARetorna default; sem default ele gera erro, então sempre forneça um.
QO $switch é melhor que $cond aninhado?
A$switch lê melhor com muitas ramificações, mantendo a lógica plana.
QTodos os cases são avaliados?
ANão — a avaliação encurta no primeiro caso correspondente.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%