$literal (Literal)

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

$literal (Literal)

$literal retorna um valor sem interpretá-lo como expressão. É usado quando uma string que começa com $ deve permanecer texto simples, ou quando um literal numérico deve manter seu tipo exato. Por exemplo, { $project: { prefix: { $literal: '$' } } } emite a string '$', enquanto escrever '$' diretamente seria tratado como um caminho de campo. $literal também é útil para argumentos booleanos ou numéricos literais dentro de $cond ou $switch. É a forma mais concisa de emitir uma constante em $project.

CategoriaLiteral, Variável e Objeto
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $literal: <valor> }

⚙️ Parâmetros

valorQualquer valor ou expressão; strings que começam com $ são tratadas literalmente.

Retorno:O valor passado, retornado como está, sem análise de expressão

▶ Exemplo

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

// $literal: emitir constantes de string que começam com $
db.orders.aggregate([
  { $project: {
      currency: { $literal: '$' },
      rate: { $literal: 0.08 }
  } }
])

Saída:

{ '_id': 1, 'currency': '$', 'rate': 0.08 }
{ '_id': 2, 'currency': '$', 'rate': 0.08 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QPara que serve $literal?
AEmitir constantes, como strings $, sem que sejam interpretadas como caminhos de campo.
QO que acontece sem $literal?
AUma string $ seria interpretada como caminho de campo e se resolveria para null quando o campo está ausente.
QO $literal consegue envolver uma expressão?
AEle não a avaliaria; o conteúdo literal é retornado como está.
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%