Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$unwind
El $unwind operador se utiliza para deconstruir un campo de matriz a partir de los documentos de entrada para generar un documento para cada elemento. Esto puede resultar útil cuando desee realizar operaciones en los elementos individuales de una matriz, como filtrar, ordenar o transformar los datos.
Parámetros
-
path: La ruta al campo de matriz que se va a desenrollar. -
includeArrayIndex: (opcional) Especifica el nombre del nuevo campo que contiene el índice del elemento de la matriz. -
preserveNullAndEmptyArrays: (opcional) Determina si la operación conserva el documento original cuando el campo de matriz es nulo o es una matriz vacía.
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo utilizar el $unwind operador para deconstruir un campo de matriz y realizar más operaciones en los elementos individuales.
Cree documentos de muestra
db.people.insertMany([ { _id: 1, name: "jon", hobbies: ["painting", "dancing", "singing"] }, { _id: 2, name: "jane", hobbies: ["reading", "swimming"] }, { _id: 3, name: "jack", hobbies: [] } ])
Ejemplo de consulta
db.people.aggregate([ { $unwind: "$hobbies" } ])
Salida
[
{ _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' }
]
Ejemplos de código
Para ver un ejemplo de código para usar el $unwind comando, elija la pestaña del idioma que desee usar: