Mongo汇总问题
1. 数据
/* 5 */
{
"_id" : ObjectId("5902f7ca2b3fe442d60a0946"),
"code" : "akhbxu2h1s0l",
"pcode" : "",
"level" : 1,
"hasCover" : false,
"validateNumber" : "1234",
"validated" : false,
"firstValidateInfo" : {
"logId" : "",
"clientIp" : "",
"createAt" : ISODate("2017-04-28T08:05:30.005Z"),
"wxNumber" : "",
"cityName" : {
"_id" : "",
"name" : ""
},
"mobile" : ""
},
"productId" : "",
"corpRecords" : [
{
"corp" : {
"_id" : ObjectId("58fc10252b3fe46746a93fbe"),
"name" : "udi2"
},
"userRecords" : [
{
"_id" : "u4quh34m6bc",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.005Z"),
"action" : "Handling",
"tag" : "京东"
}
]
},
{
"corp" : {
"_id" : "a1",
"name" : "北京大光2"
},
"userRecords" : [
{
"_id" : "u4quh34h14p",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.005Z"),
"action" : "Handling",
"tag" : "淘宝"
}
]
},
{
"corp" : {
"_id" : "b1",
"name" : "北京大光会才3"
},
"userRecords" : [
{
"_id" : "u4quh34l3qj",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.005Z"),
"action" : "Handling",
"tag" : "淘宝"
}
]
}
],
"recallInfo" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.005Z"),
"corpId" : "58fc10252b3fe46746a93fbe"
} /* 6 */
{
"_id" : ObjectId("5902f7ca2b3fe442d60a0947"),
"code" : "b93ib987buaf",
"pcode" : "",
"level" : 1,
"hasCover" : false,
"validateNumber" : "1234",
"validated" : false,
"firstValidateInfo" : {
"logId" : "",
"clientIp" : "",
"createAt" : ISODate("2017-04-28T08:05:30.007Z"),
"wxNumber" : "",
"cityName" : {
"_id" : "",
"name" : ""
},
"mobile" : ""
},
"productId" : "",
"corpRecords" : [
{
"corp" : {
"_id" : ObjectId("58fc10252b3fe46746a93fbe"),
"name" : "udi2"
},
"userRecords" : [
{
"_id" : "u4quh35zoq0",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.007Z"),
"action" : "Handling",
"tag" : "当当"
}
]
},
{
"corp" : {
"_id" : "a2",
"name" : "天津本宏2"
},
"userRecords" : [
{
"_id" : "u4quh360z0p",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.007Z"),
"action" : "Handling",
"tag" : "国美"
}
]
},
{
"corp" : {
"_id" : "b3",
"name" : "天津本宏腾达3"
},
"userRecords" : [
{
"_id" : "u4quh35jtqj",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.007Z"),
"action" : "Handling",
"tag" : "京东"
}
]
}
],
"recallInfo" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.007Z"),
"corpId" : "58fc10252b3fe46746a93fbe"
} /* 7 */
{
"_id" : ObjectId("5902f7ca2b3fe442d60a0948"),
"code" : "apy9f33v6rrw",
"pcode" : "",
"level" : 1,
"hasCover" : false,
"validateNumber" : "1234",
"validated" : false,
"firstValidateInfo" : {
"logId" : "",
"clientIp" : "",
"createAt" : ISODate("2017-04-28T08:05:30.012Z"),
"wxNumber" : "",
"cityName" : {
"_id" : "",
"name" : ""
},
"mobile" : ""
},
"productId" : "",
"corpRecords" : [
{
"corp" : {
"_id" : ObjectId("58fc10252b3fe46746a93fbe"),
"name" : "udi2"
},
"userRecords" : [
{
"_id" : "u4quh391n20",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.012Z"),
"action" : "Handling",
"tag" : "国美"
}
]
},
{
"corp" : {
"_id" : "a2",
"name" : "天津本宏2"
},
"userRecords" : [
{
"_id" : "u4quh38izrd",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.012Z"),
"action" : "Handling",
"tag" : "京东"
}
]
},
{
"corp" : {
"_id" : "b4",
"name" : "天津本宏远通3"
},
"userRecords" : [
{
"_id" : "u4quh3917mj",
"createBy" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.012Z"),
"action" : "Handling",
"tag" : "国美"
}
]
}
],
"recallInfo" : {
"_id" : "",
"name" : ""
},
"createAt" : ISODate("2017-04-28T08:05:30.012Z"),
"corpId" : "58fc10252b3fe46746a93fbe"
}
corpRecords表示企业记录信息。每条数据中 corpRecords 数组固定索引的 corp._id 是固定的(也就是说, 企业登记顺序是固定的。) ,corpId == corpRecords.0.corp._id , 这两项保持一致。
2. 需求
查询 第每一级的条数。
如下:
一级企业, 二级企业, 三级企业, 三级企业总数
udi2 天津本宏2 天津本宏腾达3 60
udi2 天津本宏2 天津本宏远通3 80
udi2 北京大光2 北京大光会才3 14
udi2 北京大光2 北京大光大略3 28
3.解决
db.qRCodeInfo.aggregate(
[ { $match: { "productId": "" ,corpId:"58fc10252b3fe46746a93fbe" } }
, {
$group : { _id: { c1: {$slice: [ "$corpRecords.corp._id", 3 ]} } ,
sum:{$sum : 1 } }
}
]
)
Mongo汇总问题的更多相关文章
- MongoDB分组汇总操作,及Spring data mongo的实现
转载请在页首注明作者与出处 一:分组汇总 1.1:SQL样例 分组汇总的应用场景非常多,比如查询每个班级的总分是多少,如果用关系形数据库,那么sql是这样子的 ),class from score g ...
- [MongoDB]Mongo基本使用:
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
- MongoDB资料汇总
MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存 ...
- MongoDB资料汇总专题[转发]
转发下..这个哥收集的很全 MongoDB资料汇总专题 作者:nosqlfan http://blog.nosqlfan.com/html/3548.html 最后更新时间:2013-04-22 1. ...
- Python资料汇总(建议收藏)
整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何编程问题请第一时间到此网站查找. https://st ...
- Python入门、练手、视频资源汇总,拿走别客气!
摘要:为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何编程问题请第一时间到此网站查找. ...
- [MongoDB]Mongo基本使用
[MongoDB]Mongo基本使用: 汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库 ...
- mongodb系列~mongo常用命令
mongodb常用命令大全1 索引相关命令 db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞nohup mongo --eval " ...
- MongoDB资料汇总专题
原文地址:http://bbs.chinaunix.net/thread-3675396-1-1.html 上一篇Redis资料汇总专题很受大家欢迎,这里将MongoDB的系列资料也进行了简单整理.希 ...
随机推荐
- Angular企业级开发(9)-前后端分离之后添加验证码
1.背景介绍 团队开发的项目,前端基于Bootstrap+AngularJS,后端Spring MVC以RESTful接口给前端调用.开发和部署都是前后端分离.项目简单部署图如下,因为后台同时采用微服 ...
- css中设置div垂直水平居中的方法
设置要水平垂直居中的div的position为absolute,left:50%;margin-left为负的这个元素宽度的一半,同理,top:50%;margin-top为负的这个元素的高度的一半. ...
- 记一次企业级爬虫系统升级改造(六):基于Redis实现免费的IP代理池
前言: 首先表示抱歉,春节后一直较忙,未及时更新该系列文章. 近期,由于监控的站源越来越多,就偶有站源做了反爬机制,造成我们的SupportYun系统小爬虫服务时常被封IP,不能进行数据采集. 这时候 ...
- 开发使用Node.js的一个小技巧
Node.js作为可以在服务器端运行的一门语言,其处理长连接.多请求的优势受到各大编程爱好者的追捧. 但是在开发调试方面却极为不方便,因为每次改动代码后,都需要终止当前进程,重启服务器.supervi ...
- 解决SQLServer 2008 日志无法收缩,收缩后大小不改变
问题 数据库日志文件上G,或者几十G了,使用日志收缩,和日志截断收缩都不管用.体积一直减不下来.. 解决方案 查看日志信息 在查询分析器中执行如下代码来查看日志信息: DBCC LOGINFO('数 ...
- Kafka-4614问题复盘 (MappedByteBuffer未关闭导致慢磁盘访问)
很早之前就想动笔就这个kafka bug总结一番了,只是这个问题既不是本人发现,也不是自己动手修复,终归是底气不足,故而一直耽搁下来.怎奈此问题实在是含金量十足,又恰逢最近有人询问Kafka 0.10 ...
- cassandra高级操作之分页的java实现(有项目具体需求)
接着上篇博客,我们来谈谈java操作cassandra分页,需要注意的是这个分页与我们平时所做的页面分页是不同的,具体有啥不同,大家耐着性子往下看. 上篇博客讲到了cassandra的分页,相信大家会 ...
- 转:js,jQuery 排序的实现,网页标签排序的实现,标签排序
js,jQuery 排序的实现: 重点: 想要实现排序,最简单的方法就是 先把标签用jQuery读进对象数组 用js排序好对象数组 (针对对象数组进行排序, 不要试图直接对网页的内容进行直接更改) 用 ...
- 初识Object-C
Object-C是苹果推出用来开发苹果软件的一门编程语言.大学学了3年的JAVA,到了大四毅然决然的放弃JAVA,是因为第一次接触Object-C就被它的简单语法吸引了.其实不仅仅是语法简单,相对于A ...
- 老李分享:开发python的unittest结果输出样式
老李分享:开发python的unittest结果输出样式 Python的unittest结果命令行输出,格式比较乱.为了提高格式输出的可读性,实现可以不同的颜色标识.所以准备扩展Python的un ...