(1)将author从每个文档中投射出来
{"$project":{"author":1}}
(2)将作者按照名字排序,某个作者的名字出现一次,就会对这个作者的"count"加1
{"$group":{"_id":"$author","count":{"$sum":1}}}
(3)将作者按照名字出现的次数降序排列
{"$sort":{"count":-1}}
(4) 将返回结果限制为前5个
{"$limit":5}
db.articles.aggregate({"$project":{"author":1}},
{"$group":{"_id":"$author","count":{"$sum":1}}},
{"$sort":{"count":-1}},
{"$limit":5})
db.requisition.aggregate({"$project":{"uid":1}})
db.requisition.aggregate({"$project":{"uid":1}},{"$group":{"_id":"$uid","count":{"$sum":1}}})
db.requisition.aggregate({"$project":{"uid":1}},{"$group":{"_id":"$uid","count":{"$sum":1}}},{"$sort":{"count":-1}},{"$limit":3})
pipeline 管道
filtering 筛选
projectiong 投射
grouping 分组
sort 排序
limiting 限制
skipping 跳过
时间: 2024-10-09 22:26:09