我有一个学生及其联系方式的数据库.
{学生代码:'smi0001',名字:'bob',姓氏:'smith',邮编:
我想我可以使用聚合框架来找出大多数学生的邮政编码,比如...
db.students.aggregate({$project: { postcode: 1 }, $group: {_id: '$postcode', students: {$sum: 1}}})
这就像预期的那样(返回邮政编码为_id
,每个邮政编码中的学生人数为"学生",但如果我将$sort
添加到管道中,它似乎会try 按整个学生集合排序,而不是$group
操作的结果.
我想要的是...
db.students.aggregate({$project: { postcode: 1 }, $group: {_id: '$postcode', students: {$sum: 1}}, $sort: {_id: -1}})
但它返回了整个集合,忽略了$project
和$group
...