V uvolněte se fáze, pole by mělo být pole pole. Pokud nejde o pole pole, zachází s ním jako s polem 1 prvku.
Z dokumentů:
Změněno ve verzi 3.2:$unwind stage již nechybuje u operandů bez pole. Pokud se operand nerozloží na pole, ale nechybí, nemá hodnotu null nebo je prázdné, $unwind bude operand považovat za pole s jedním prvkem.
Odpověď na váš dotaz:
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}
}
}
])
Referovat Shell Výstup