Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

$literal (operador de expressão )

$literal

Retorna um valor sem analisar. Use para valores que o aggregation pipeline pode interpretar como uma expressão.

The $literal expression has the following syntax:

{ $literal: <value> }

If the <value> is an expression, $literal does not evaluate the expression but instead returns the unparsed expression.

Exemplo
Resultado

{ $literal: { $add: [ 2, 3 ] } }

{ "$add" : [ 2, 3 ] }

{ $literal: { $literal: 1 } }

{ "$literal" : 1 }

Na expressão, o cifrão $ é avaliado como um caminho de campo; ou seja, fornece acesso ao campo. Por exemplo, a expressão $eq $eq: [ "$price", "$1" ] executa uma verificação de igualdade entre o valor no campo denominado price e o valor no campo denominado 1 no documento.

The following example uses a $literal expression to treat a string that contains a dollar sign "$1" as a constant value.

Uma coleção storeInventory tem os seguintes documentos:

db.storeInventory.insertMany( [
{ "_id" : 1, "item" : "napkins", price: "$2.50" },
{ "_id" : 2, "item" : "coffee", price: "1" },
{ "_id" : 3, "item" : "soap", price: "$1" }
] )
db.storeInventory.aggregate( [
{ $project: { costsOneDollar: { $eq: [ "$price", { $literal: "$1" } ] } } }
] )

Esta operação projeta um campo denominado costsOneDollar que detém um valor booleano, indicando se o valor do campo price é igual à string "$1":

{ "_id" : 1, "costsOneDollar" : false }
{ "_id" : 2, "costsOneDollar" : false }
{ "_id" : 3, "costsOneDollar" : true }

The $project stage uses the expression <field>: 1 to include the <field> in the output. The following example uses the $literal to return a new field set to the value of 1.

Uma coleção books tem os seguintes documentos:

db.books.insertMany([
{ "_id" : 1, "title" : "Dracula", "condition": "new" },
{ "_id" : 2, "title" : "The Little Prince", "condition": "new" }
])

The { $literal: 1 } expression returns a new editionNumber field set to the value 1:

db.books.aggregate( [
{ $project: { "title": 1, "editionNumber": { $literal: 1 } } }
] )

A operação resulta nos seguintes documentos:

{ "_id" : 1, "title" : "Dracula", "editionNumber" : 1 }
{ "_id" : 2, "title" : "The Little Prince", "editionNumber" : 1 }
Avalie esta página