关于mongodb的 数组分组 array group
来源:互联网 发布:好用的数据恢复软件 编辑:程序博客网 时间:2024/06/15 17:16
mongodb支持array类型
在group的功能方面,mongodb确实不错。对于复杂的数据处理用mapreduce,但是这个玩意很慢,比较适合脚本处理数据,不适合实时数据查询
在实时数据处理方面得用管道,关于管道语法方面,参看:
http://blog.csdn.net/terry_water/article/details/43529367
如果$class_artist是数组,需要对数组里面的数据进行group,那么可以使用$unwind
,它的功能就是把数组拆分出来,形成多条数据。
db.articles.aggregate([ {$match: { class_date: { $gte: date } } }, {$project: { _id: 0, class_artist: 1 } }, {$unwind: "$class_artist" }, {$group: { _id: "$class_artist", tags: { $sum: 1 } }}, {$project: { _id: 0,class_artist: "$_id", tags: 1 } }, {$sort: { tags: -1 } }])
在yii2框架中:
可以在Query.php中加入一个函数:
对 $filter_size数组拆分,然后group。
public function filterSize($db = null){$collection = $this->getCollection($db); $pipelines = []; if ($this->where !== null) { $pipelines[] = ['?match' => $collection->buildCondition($this->where)]; }$pipelines[] = ['?unwind'=>"\$filter_size"]; $pipelines[] = [ '$group' => [ '_id' => "\$filter_size", 'num_total' => [ '?sum'=> 1, ], ] ];$pipelines[] = ['?sort'=> ['_id'=> 1] ]; $result = $collection->aggregate($pipelines);return $result; }
1 0
- 关于mongodb的 数组分组 array group
- 关于MongoDB的group分组
- 关于MongoDB的group分组
- MongoDB的group分组
- mongodb group分组
- MongoDB分组group
- 关于MongoDB的group用法
- 关于MongoDB的group用法
- 关于MongoDB的group用法
- 关于MongoDB中对于Collection中的Array数组的注意事项
- 关于GridView的Group分组显示(downmoon)
- mongodb group分组个数过滤
- MongoVUE下实现MongoDB的Group分组查询
- MongoVUE下实现MongoDB的Group分组查询
- MongoVUE下实现MongoDB的Group分组查询
- MongoDB中的一个分组统计的查询(Group ... Distinct)
- 解决mongodb group按时间分组的时差问题
- mongodb命令行group分组和java代码中group分组
- 【理解】多筛选字段数据透视表快速分项打印里面的递归用法
- Linux 创建静态库以及静态库的使用
- Saltstack自动化的学习笔记
- Maven Build Tracking
- mysql数据类型与java类型对应关系
- 关于mongodb的 数组分组 array group
- common lisp中获取当前文件路径
- 举例说明面向对象和面向过程的区别
- Ajax、Javascript和jQuery三者之间的联系与区别
- 记录操作linux时,要查找的命令
- 获取昨天的日期
- wdTree
- android开发中Home键
- QT运行报错:QWidget: Must construct a QApplication before a QWidget