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á.
$unwind
O $unwind operador é usado para desconstruir um campo de matriz dos documentos de entrada para gerar um documento para cada elemento. Isso pode ser útil quando você deseja realizar operações nos elementos individuais de uma matriz, como filtrar, classificar ou transformar os dados.
Parâmetros
-
path: o caminho para o campo de matriz a ser desenrolado. -
includeArrayIndex: (opcional) Especifica o nome do novo campo para conter o índice do elemento da matriz. -
preserveNullAndEmptyArrays: (opcional) Determina se a operação mantém o documento original quando o campo de matriz é nulo ou uma matriz vazia.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra como usar o $unwind operador para desconstruir um campo de matriz e realizar outras operações nos elementos individuais.
Crie documentos de amostra
db.people.insertMany([ { _id: 1, name: "jon", hobbies: ["painting", "dancing", "singing"] }, { _id: 2, name: "jane", hobbies: ["reading", "swimming"] }, { _id: 3, name: "jack", hobbies: [] } ])
Exemplo de consulta
db.people.aggregate([ { $unwind: "$hobbies" } ])
Saída
[
{ _id: 1, name: 'jon', hobbies: 'painting' },
{ _id: 1, name: 'jon', hobbies: 'dancing' },
{ _id: 1, name: 'jon', hobbies: 'singing' },
{ _id: 2, name: 'jane', hobbies: 'reading' },
{ _id: 2, name: 'jane', hobbies: 'swimming' }
]
Exemplos de código
Para ver um exemplo de código para usar o $unwind comando, escolha a guia do idioma que você deseja usar: