Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$unwind
L'$unwindoperatore viene utilizzato per decostruire un campo array dai documenti di input per generare un documento per ogni elemento. Ciò può essere utile quando si desidera eseguire operazioni sui singoli elementi di un array, come filtrare, ordinare o trasformare i dati.
Parametri
-
path: il percorso del campo dell'array da srotolare. -
includeArrayIndex: (opzionale) Specificate il nome del nuovo campo che contiene l'indice dell'elemento dell'array. -
preserveNullAndEmptyArrays: (opzionale) Determina se l'operazione mantiene il documento originale quando il campo dell'array è nullo o è un array vuoto.
Esempio (MongoDB Shell)
L'esempio seguente dimostra come utilizzare l'$unwindoperatore per decostruire un campo array ed eseguire ulteriori operazioni sui singoli elementi.
Crea documenti di esempio
db.people.insertMany([ { _id: 1, name: "jon", hobbies: ["painting", "dancing", "singing"] }, { _id: 2, name: "jane", hobbies: ["reading", "swimming"] }, { _id: 3, name: "jack", hobbies: [] } ])
Esempio di query
db.people.aggregate([ { $unwind: "$hobbies" } ])
Output
[
{ _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' }
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $unwind comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: