Per $group-operator di MongoDB, nessun valore è anche un valore.
Quando desideri escludere documenti in cui non tutte e tre le chiavi sono presenti, puoi aggiungere un $corrispondenza -passa alla tua pipeline di aggregazione che filtra tutti i documenti che non hanno tutte queste chiavi.
db.collection.aggregate([
{ $match: {
"type" : { "$exists" : true},
"location" : { "$exists" : true},
"language" : { "$exists" : true}
}
},
{ $group: {
"_id": {
"location": "$location",
"type": "$typ",
"language": "$language"
},
"count": {$sum: 1}
}
}
]);