MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Gruppo nidificato MongoDB?

Avrai bisogno di due gruppi in questo caso. Il primo gruppo genera un flusso di documenti con un documento per termine e categoria:

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

Un secondo gruppo unirà quindi tutti i documenti con lo stesso termine in uno solo, utilizzando l'operatore $push per unire le categorie in un array:

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