tipo de agregação mongodb

Eu tenho um banco de dados de estudantes e seus detalhes de contato. Estou tentando descobrir o código postal que abriga o maior número de alunos. Os documentos para os estudantes são parecidos com isto ...

{studentcode: 'smi0001', nome: 'bob', sobrenome: 'smith', código postal: 2001}

Eu pensei que eu poderia usar a estrutura de agregação para descobrir o código postal com a maioria dos alunos, fazendo algo como ...

db.students.aggregate({$project: { postcode: 1 }, $group: {_id: '$postcode', students: {$sum: 1}}})

isso funciona como esperado (retorna códigos postais como_id e o número de alunos em cada código postal como 'alunos', mas se eu adicionar$sort para o pipeline parece tentar classificar por toda a coleção de estudantes em vez dos resultados do$group Operação.

o que estou tentando parecer ...

db.students.aggregate({$project: { postcode: 1 }, $group: {_id: '$postcode', students: {$sum: 1}}, $sort: {_id: -1}})

mas retorna toda a coleção e desconsidera o$project e$group... Estou esquecendo de algo? Eu pensei que seria capaz de classificar por número decrescente de alunos e retornar o primeiro item. Agradecemos antecipadamente por qualquer ajuda.

questionAnswers(2)

yourAnswerToTheQuestion