使用聚合函数,多次分组统计结果,最终将聚合的结果数返回给用户

db.teacher.aggregate([
    {$match:{"name": "Jone"}},
    {$project:{"age": 1}},
    {$group:{"_id": "$age"}},
    {$group:{"_id": null, "count": {"$sum": 1}}}
])

假设数据库中名称是Jone的人有多个,以上聚合结果是,数据库中名字是Jone的人,有多少种不同的年龄。
例子:
名叫Jone的人分别年龄是:28、29、29、30、35、41,结果为5;
名叫Jone的人分别年龄是:28、29、30、35、41,结果为5;
名叫Jone的人分别年龄是:28、29、30、31、35、41,结果为6;
名叫Jone的人分别年龄是:29、29、29、29、29、29,结果为1;

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐