I varva ner scen, fältet bör vara ett arrayfält. Om det inte är arrayfält, behandlar det det som array med ett element.
Från dokumenten:
Ändrad i version 3.2:$unwind stage inte längre fel på icke-array-operander. Om operanden inte löser sig till en array men inte saknas, null eller en tom array, behandlar $unwind operanden som en enstaka elementarray.
Svar på din fråga:
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}
}
}
])
Refer Shell Utdata