Definição
Retorna o primeiro elemento de uma array.
Observação
Desambiguação
Esta página descreve $first quando usado como uma expressão, que retorna o primeiro elemento de uma array.
Você também pode usar $first nestes outros contextos:
$first (accumulator), usado no agrupamento para retornar o primeiro valor de cada grupo.$first (window function), usado no estágio$setWindowFieldspara retornar um valor para o primeiro documento em uma janela.
Sintaxe
{ $first: <expression> }
O <expression> deve avaliar para uma array.
Comportamento
Se a expressão do operando for avaliada como uma array,
$firstretornará o primeiro elemento dessa array.Se a array estiver vazia,
$firstretornaránull.Se a expressão avaliar como
nullou se referir a um campo ausente,$firstretornaránull.
Exemplo
Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação autogerenciada do MongoDB , consulte Carregar o conjunto de dados de amostra. Se você fez modificações nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.
O exemplo a seguir usa $first para retornar o ator mais faturado de cada filme. No conjunto de dados sample_mflix, a array cast lista os atores em ordem de cobrança, de modo que o primeiro elemento seja o ator mais cobrado:
db.movies.aggregate( [ { $match: { title: { $in: [ "The Godfather", "Pulp Fiction", "Forrest Gump" ] } } }, { $addFields: { topBilledActor: { $first: "$cast" } } }, { $project: { _id: 0, title: 1, cast: 1, topBilledActor: 1 } }, { $sort: { title: 1 } } ] )
No pipeline anterior:
$matchfiltros para três filmes específicos.$addFieldscom$firstcria um novo campotopBilledActorcontendo o primeiro elemento da arraycast.$projectinclui apenas os campostitle,castetopBilledActorno resultado.$sortordenar os resultados por título.