Anda hampir memilikinya...
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {_id: -1}}
);
berikan (saya menambahkan beberapa data uji yang cocok dengan sampel Anda):
{
"result" : [
{
"_id" : 2003,
"students" : 3
},
{
"_id" : 2002,
"students" : 1
},
{
"_id" : 2001,
"students" : 2
}
],
"ok" : 1
}
Anda memiliki {}
outer luar di sekitar segala sesuatu, yang menyebabkan beberapa kebingungan. Grup dan sortir tidak berfungsi sebagai operasi terpisah dalam alur.
Anda tidak benar-benar membutuhkan proyek untuk kasus ini.
Perbarui Anda mungkin ingin mengurutkan berdasarkan "siswa", misalnya, untuk mendapatkan kode pos terbesar (berdasarkan populasi) terlebih dahulu:
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {students: -1}}
);