Je had het bijna...
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {_id: -1}}
);
geeft (ik heb enkele testgegevens toegevoegd die overeenkomen met uw steekproef):
{
"result" : [
{
"_id" : 2003,
"students" : 3
},
{
"_id" : 2002,
"students" : 1
},
{
"_id" : 2001,
"students" : 2
}
],
"ok" : 1
}
Je had een buitenste {}
rond alles, wat enige verwarring veroorzaakte. Het groeperen en sorteren werkten niet als afzonderlijke bewerkingen in de pijplijn.
Je had het project niet echt nodig voor dit geval.
Bijwerken U wilt waarschijnlijk sorteren op "studenten", zoals zo, om eerst de grootste postcodes (op populatie) te krijgen:
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {students: -1}}
);