$unwind
MongoDB 🟡 MidDéfinition
Stage d'aggregation qui decompacte un champ tableau en créant un document par élément. Transforme un document avec un tableau de N éléments en N documents.
Analogie
Ouvrir un paquet de bonbons et poser chaque bonbon sur la table individuellement.
Exemple de code
// { tags: ['js', 'mongo'] } devient :
// { tags: 'js' }
// { tags: 'mongo' }
{ $unwind: '$tags' }
Cas d'usage
Préparer les données d'un tableau pour un $group ou un $sort sur les éléments individuels.
Anti-pattern
Termes liés
En entretien
Que fait $unwind sur un document contenant un tableau ?
$unwind décompacte un champ tableau en créant un document par élément, transformant un document avec un tableau de N éléments en N documents, comme ouvrir un paquet de bonbons et poser chaque bonbon sur la table individuellement. C'est souvent utilisé pour préparer les données avant un $group ou un $sort sur les éléments individuels.
Quel est le risque de performance avec $unwind ?
Appliquer $unwind sur des tableaux de milliers d'éléments multiplie la mémoire utilisée, c'est l'anti-pattern principal à surveiller sur ce stage. Il faut donc rester prudent quand la taille des tableaux n'est pas bornée.
Fiche mise à jour le 2026-09-27