Dans déroulez stage, le champ doit être un champ tableau. S'il ne s'agit pas d'un champ de tableau, il le traite comme un tableau de 1 élément.
D'après la documentation :
Modifié dans la version 3.2 :l'étape $unwind n'entraîne plus d'erreurs sur les opérandes non-tableaux. Si l'opérande ne se résout pas en un tableau mais n'est pas manquant, nul ou un tableau vide, $unwind traite l'opérande comme un tableau à un seul élément.
Réponse à votre requête :
db.response.aggregate([
{
$project:
{
"job_details.label_name":1,
_id:0
}
},
{
$unwind:"$job_details.label_name"
},
{
$group:
{
_id:"$job_details.label_name",
count:{$sum:1}
}
}
])
Reportez-vous Shell Sortie