MongoDB虽然不像我们常用的mysql,sqlserver,oracle等关系型数据库有group by函数那样方便分组,但是MongoDB要实现分组也有3个办法:
Mongodb三种分组方式:
1、group(先筛选再分组,不支持分片,对数据量有所限制,效率不高) http://php.net/manual/zh/mongocollection.group.php
2、mapreduce(基于js引擎,单线程执行,效率较低,适合用做后台统计等)
3、aggregate(推荐) (如果你的PHP的mongodb驱动版本需>=1.3.0,推荐你使用aggregate,性能要高很多,并且使用上要简单些,不过1.3的目前还不支持账户认证模式,可以通过http://pecl.php.net/package/mongo查看更新日志和Bug) http://php.net/manual/zh/mongocollection.aggregate.php