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

Groupe MongoDB avec plusieurs identifiants

Pour le $group-operator de MongoDB, aucune valeur n'est également une valeur.

Lorsque vous souhaitez exclure des documents où les trois clés ne sont pas présentes, vous pouvez ajouter un $match -étape vers votre pipeline d'agrégation qui filtre tous les documents qui n'ont pas toutes ces clés.

 db.collection.aggregate([
     { $match: { 
         "type" : { "$exists" : true}, 
         "location" : { "$exists" : true}, 
         "language" : { "$exists" : true}
       } 
     },
     { $group: {
         "_id": {
             "location": "$location", 
             "type": "$typ", 
             "language": "$language"
         },
         "count": {$sum: 1}
       }
     }
 ]);