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.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

$concatArrays (função de janela)

$concatArrays

Retorna uma array dos valores de array concatenados de documentos em uma janela.

Observação

Desambiguação

Esta página descreve $concatArrays quando usado como uma função de janela.

Você também pode usar $concatArrays nestes outros contextos:

{
$setWindowFields: {
...
output: {
<field>: {
$concatArrays: "<array field>"
}
}
}
}

Os argumentos que são null ou que resultam em null são incluídos nos resultados. Os argumentos que se referem a um campo ausente não são incluídos nos resultados.

O exemplo a seguir usa a coleção movies do conjunto de dados de amostra sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação, consulte Carregar o conjunto de dados de amostra.

O exemplo usa $setWindowFields para dividir filmes por ano de lançamento e concatenar as arrays genres dentro de cada partição, classificadas por título. Cada documento recebe a concatenação das arrays genres do primeiro filme em sua partição até o documento atual:

db.movies.aggregate( [
{ $match: { year: { $in: [1914, 1915] } } },
{ $setWindowFields: {
partitionBy: { year: "$year" },
sortBy: { title: 1 },
output: {
combinedGenres: {
$concatArrays: "$genres",
window: { documents: ["unbounded", "current"] }
}
}
} },
{ $project: { _id: 0, year: 1, title: 1, combinedGenres: 1 } }
] )

O pipeline anterior:

  • Usa $setWindowFields para dividir filmes por year com partitionBy e classificar cada partição por title. O estágio aplica $concatArrays ao campo genres em uma janela de documentos de [ "unbounded", "current" ]. O campo combinedGenres contém os gêneros concatenados do primeiro filme na partição até o documento atual.

  • Utiliza $project para incluir year, title e combinedGenres na saída.

A array combinedGenres cresce dentro de cada partição à medida que cada documento contribui com sua array genres.