$unwind

MongoDB 🟡 Mid

Definition

Stage d'aggregation qui decompacte un champ tableau en creant un document par element. Transforme un document avec un tableau de N elements 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

Preparer les donnees d'un tableau pour un $group ou un $sort sur les elements individuels.

Anti-pattern

Appliquer $unwind sur des tableaux de milliers d'elements, multipliant la memoire utilisee.
#sgbd#interview#database#mongodb