Yii::$service->info->coll() 这样来查询数据,能实现group统计查询吗

问题咨询 · tgy3300 · 于 3年前 发布 · 1218 次阅读

yii2+mongodb,数据查询使用了Yii::$service->info->coll(), 能做分类统计吗? 比如统计 mongodb数据库a表a字段中,,a1值有多少条,a2有多少条这样

共收到 5 条回复
Fecmall#13年前 0 个赞

可以,用aggregate

tgy3300#33年前 0 个赞

感谢大佬

Fecmall#43年前 0 个赞

1.关于mongodb的聚合,有两种 MapReduceAggregate

MapReduce可以计算很多数据,有点像大数据工具,是离线统计的工具,优点是计算限制少,可以对千万级别(更多没有测试过)进行聚合统计,限制少,缺点就是耗时比较长,因此一般用于做离线数据统计,fecmall 的FA统计系统就是用的mongodb的mapreduce

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

有兴趣研究一下吧。

tgy3300#53年前 0 个赞

感谢分享,,学习了

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics