In rilassati stage, il campo dovrebbe essere un campo array. Se non è un campo array, lo tratta come un array di 1 elemento.
Dai documenti:
Modificato nella versione 3.2:$unwind stage non genera più errori su operandi non array. Se l'operando non si risolve in un array ma non è mancante, nullo o un array vuoto, $unwind considera l'operando come un array a elemento singolo.
Rispondi alla tua domanda:
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 Output