mongodb的aggregate学习之1-pipeline
来源:互联网 发布:unix 网络数据库 编辑:程序博客网 时间:2024/05/18 02:18
想知道某个country和province下userid的数量,相同userid算一个
如果这么写,
[
{$group:{"_id": {"country": "$country", "province": "$province"},'count': {$sum: 1}}}
]
返回了
{"result":[{"_id":{"country":"us","province":"shandong"},"count":2},
{"_id":{"country":"cha","province":"beij"},"count":1},
{"_id":{"country":"cha","province":"shandong"},"count":3}]
}
从结果来看,计算结果是按照country和province分组了,就是同一个country和province下有几条数据,
不是我们想要的结果,再改
[{$group:{"_id": {"country": "$country", "province": "$province", "uid": "$userid"},'count': {$sum: 1}}}]
返回了
{"result":[{"_id":{"country":"cha","province":"beij","uid":"aaa"},"count":1},
{"_id":{"country":"us","province":"shandong","uid":"aaa"},"count":2},
{"_id":{"country":"cha","province":"shandong","uid":"bbb"},"count":2},
{"_id":{"country":"cha","province":"shandong","uid":"aaa"},"count":1}
]}
再改,
[{$group:{"_id": {"country": "$country", "province": "$province", "uid": "$userid"},'count': {$sum: 1}}},{$group:{"_id": {"country": "$_id.country", "province": "$_id.province", "uid": "$_id.uid"},'count': {$sum: 1}}}];
返回了
{"result":[{"_id":{"country":"cha","province":"shandong","uid":"aaa"},"count":1},
{"_id":{"country":"cha","province":"shandong","uid":"bbb"},"count":1},
{"_id":{"country":"us","province":"shandong","uid":"aaa"},"count":1},
{"_id":{"country":"cha","province":"beij","uid":"aaa"},"count":1}
]}
和上一个的结果相比,就是count都变成了1,还不是想要的结果,再改改
[{$group:{"_id": {"country": "$country", "province": "$province", "uid": "$userid"},'count': {$sum: 1}}},{$group:{"_id": {"country": "$_id.country", "province": "$_id.province", /*"uid": "$_id.uid"*/},'count': {$sum: 1}}}];
就是注释了一点点的代码,返回结果
{"result":[{"_id":{"country":"us","province":"shandong"},"count":1},
{"_id":{"country":"cha","province":"shandong"},"count":2},
{"_id":{"country":"cha","province":"beij"},"count":1}]}
是想要的结果了
阅读全文
0 0
- mongodb的aggregate学习之1-pipeline
- mongodb的aggregate实例1
- mongodb的aggregate 用法
- MongoDB的聚合(aggregate)
- MongoDB的聚合函数 Aggregate
- MongoDB的聚合函数 Aggregate
- MongoDB 学习笔记六 aggregate GROUP使用
- MongoDB中group() mapReduce() aggregate()之比较
- mongodb mapreduce, aggregate, group 的类似功能
- MongoDB aggregate聚合函数的使用
- MongoDB中聚合(aggregate)的使用
- mongoDB中管道的使用,aggregate
- 使用mongodb的aggregate解决变态需求
- MongoDB aggregate,mapreduce,聚合命令的区别
- 使用java 操作mongodb的aggregate
- ndoejs+mongodb 开发1:aggregate 分组求和
- Codeigniter MongoDB 扩展之使用 Aggregate 方法实现 Mysql 的 Sum 方法
- mongodb使用aggregate、group、match实现mysql中的having(count(1)>1)的功能
- 可能是东半球最全的RxJava使用场景小结
- Python学习笔记(一)三步走安装pip
- 第5周【项目1
- log4j2配置文件log4j2.xml
- ionic3打包安卓时遇见的问题
- mongodb的aggregate学习之1-pipeline
- java.io.FileNotFoundException:文件扩展名称隐藏了
- UIRefreshControl的使用
- 23、终端IO和伪终端
- js去除数组中重复的元素
- ES6-数值的扩展-Number.isFinite(), Number.isNaN()
- VS2015 Entity Data Model Designer 无法显示您请求的文件
- 辗转相除求最大公约数,最小公倍数
- 个人博客搭建之网站和邮箱域名解析