首页 > 代码库 > mongodb 聚合

mongodb 聚合

(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 跳过

mongodb 聚合