MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Groupe imbriqué MongoDB ?

Vous aurez besoin de deux groupes dans ce cas. Le premier groupe génère un flux de documents avec un document par terme et catégorie :

 { $group : { 
      _id :  { 
        category: "$category",
        term: "$term",
      },
      total: { $sum : 1 } 
   }
 }

Un deuxième groupe fusionnera alors tous les documents avec le même terme en un seul, en utilisant l'opérateur $push pour fusionner les catégories dans un tableau :

 { $group : { 
      _id :  "$_id.category",
      terms: { 
          $push: { 
              term:"$_id.term",
              total:"$total"
          }
      }
   }
 }