读书人

MongoDB中group() 地图Reduce() aggre

发布时间: 2013-09-28 10:01:20 作者: rapoo

MongoDB中group() mapReduce() aggregate()之比较

对于SQL而言,如果从users表里查询每个team所有成员的number,查询语句如下:

?

[sql]?view plaincopy
  1. 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().

定义为:

?

[javascript]?view plaincopy
  1. Db.collection.group(??
  2. ????????????key,??
  3. ????????????reduce,??
  4. ????????????initial,??
  5. ????????????keyf,??
  6. ????????????cond,??
  7. ????????????finalize).??

?

特征为:

读书人网 >其他数据库

热点推荐