MongoDB 的聚合查询其实挺强大的,尤其在你想对数据做点统计的时候,能帮上不少忙。头歌 6.4 的聚合函数小节就讲得蛮清楚,从$group
、$match
、$sum
这些常用操作符,到管道操作的用法都带了一遍。
MongoDB 的聚合管道
有点像你在 SQL 里连着写几个GROUP BY
+ HAVING
的感觉,只是语法更灵活,代码结构也更清晰些。比如你要统计每种商品的销售总额,用$group
一搞定,顺手还能接个$sort
。
如果你对 SQL 比较熟,建议也看看这个SQL 聚合函数的对比文章,对照着理解会更快。还有这个关于MongoDB 聚合语法解析的内容也挺不错,思路清晰。
嗯,还有个小坑你得注意一下:MongoDB 在null
值时聚合结果不太直观,记得参考这篇讲空值的文章,能省不少麻烦。
如果你是从MySQL
或者Oracle
转过来的,可以顺带看看这些资源:
,MongoDB 的聚合写起来也不难,关键是理清结构,多练练,嗯,手熟了之后效率还真挺高。
如果你最近正好在搞数据统计,或者后端返回的东西要自己聚合下,建议你打开头歌 6.4 练练手,顺便把几个相关链接收藏一下,查起来也方便。