关于 Mongodb 的聚合查询实现

怿祺
  • 324

文章集合posts

ObjectId Post Category
1 post 1 a
2 post 2 b
3 post 3 b
4 post 4 a
5 post 5 c
6 post 6 b

分类集合categories

ObjectId Category Name
1 a Category A
2 b Category B
3 c Category C

怎样输出所有分类,并按照该分类下文章的数目由多到少排序呢?

回复
阅读 2.4k
2 个回答

mongo的聚合只能针对单集合操作,不过你这个并不复杂,还是可以简单实现的。

首先通过 posts.aggregate([{$group:{_id:"$category",count:{$sum:1}}]) 获得分类下文章的数量。
之后如果需要显示 Category Name ,就再到 categories 里查询即可。

Mongodb聚合查询相对比较复杂,可以查看萌阔论坛

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏