W odpręż stage, pole powinno być polem tablicy. Jeśli nie jest to pole tablicy, traktuje je jako tablicę 1 elementu.
Z dokumentów:
Zmieniono w wersji 3.2:$unwind stage nie zawiera już błędów na operandach nie-tablicowych. Jeśli operand nie jest rozpoznawany jako tablica, ale jej nie brakuje, ma wartość null lub jest pustą tablicą, $unwind traktuje operand jako tablicę jednoelementową.
Odpowiedz na Twoje zapytanie:
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}
}
}
])
Odwołaj się do powłoki Wyjście