对于SQL而言,如果从users表里查询每个team所有成员的number,查询语句如下:
?
- SELECT?team,?no?FROM?users?GROUP?BY?team?????????????????????????????(1)??
?
但是对于Mongodb而言,实现这样的功能,则比较复杂。
从mongodb2.2之后,有了三个function可以实现这个功能,他们按照产生的顺序,分别是group(), mapReduce()和aggregate().
他们之间的区别有哪些呢?参照stack overflow上讨论http://stackoverflow.com/questions/12337319/mongodb-aggregation-comparison-group-group-and-mapreduce整理如下:
?
1.?????db.collection.group().
定义为:
?