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á.
$
O operador $ de projeção limita o conteúdo de um campo de matriz para retornar somente o primeiro elemento que corresponda à condição da consulta. Ele é usado para projetar um único elemento de matriz correspondente.
Parâmetros
-
field.$: o campo de matriz com o operador posicional para projetar o primeiro elemento correspondente.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra o uso do operador de $ projeção para retornar somente o elemento de matriz correspondente.
Crie documentos de amostra
db.students.insertMany([ { _id: 1, name: "Alice", grades: [85, 92, 78, 95] }, { _id: 2, name: "Bob", grades: [70, 88, 92, 65] }, { _id: 3, name: "Charlie", grades: [95, 89, 91, 88] } ]);
Exemplo de consulta
db.students.find( { grades: { $gte: 90 } }, { name: 1, "grades.$": 1 } );
Saída
{ "_id" : 1, "name" : "Alice", "grades" : [ 92 ] }
{ "_id" : 2, "name" : "Bob", "grades" : [ 92 ] }
{ "_id" : 3, "name" : "Charlie", "grades" : [ 95 ] }
Neste exemplo, somente a primeira nota maior ou igual a 90 é retornada para cada aluno.
Exemplos de código
Para ver um exemplo de código para usar o operador de $ projeção, escolha a guia do idioma que você deseja usar: