unwind で ステージ、フィールドは配列フィールドである必要があります。配列フィールドでない場合は、1要素の配列として扱われます。
ドキュメントから:
バージョン3.2で変更:$unwindステージで非配列オペランドのエラーが発生しなくなりました。オペランドが配列に解決されないが、欠落していない、null、または空の配列でない場合、$unwindはオペランドを単一要素配列として扱います。
質問への回答:
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}
}
}
])
シェルを参照