yii2+mongodb,数据查询使用了Yii::$service->info->coll(), 能做分类统计吗? 比如统计 mongodb数据库a表a字段中,,a1值有多少条,a2有多少条这样
可以,用aggregate
aggregate
例子:https://github.com/fecshop/yii2_fecshop/blob/master/services/search/MongoSearch.php#L434
感谢大佬
1.关于mongodb的聚合,有两种 MapReduce 和 Aggregate
mongodb
MapReduce
Aggregate
MapReduce可以计算很多数据,有点像大数据工具,是离线统计的工具,优点是计算限制少,可以对千万级别(更多没有测试过)进行聚合统计,限制少,缺点就是耗时比较长,因此一般用于做离线数据统计,fecmall 的FA统计系统就是用的mongodb的mapreduce
Aggrate统计数据非常快,适合及时性统计,即时相应非常快,但是限制多,不适合过多的数据统计,而且非常耗费内存
Aggrate
2.Yii2框架有mongodb扩展,对其进行了一些封装,fecmall的mongodb部分,使用的是yii2的mongodb扩展:https://github.com/yiisoft/yii2-mongodb
3.关于Aggregate资料:
https://docs.mongodb.com/manual/aggregation/
https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/
https://www.cnblogs.com/chenpingzhao/p/7978905.html
有兴趣研究一下吧。
感谢分享,,学习了