/ / MongoDb agregacja na polu zagnieżdżonego obiektu - mongodb, framework-agregacja, agregacja

Agregacja MongoDb w zagnieżdżonym polu obiektu - mongodb, agregacja-struktura, agregacja

Mam kolekcję dokumentów w formacie

{
"name": <name>,
"status": {
"statusId": <can be a number which I want to aggregate like 1/2/3/4>
}
}

Chcę mieć agregację według status.statusId - np. 5 dokumentów ma status.statusId = 0, 3 dokumenty mają status.statusId = 5 itd.

próbowałem

db.getCollection("users").aggregate([
{
$group: { _id: { "status":  { "statusId": "$statusId" }}, count: {$sum:1} }
}
])

ale to nie działa.

Gdzie się mylę?

Odpowiedzi:

1 dla odpowiedzi № 1

Powinieneś użyć notacji kropkowej dla swojego _id

db.getCollection("users").aggregate([
{
$group: { _id:  "$status.statusId", count: {$sum:1} }
}
])