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的系列资料也进行了简单整理.希 ...
随机推荐
- Lucene实战之初体验
前言 最早做非结构化数据搜索时用的还是lucene.net,一直说在学习java的同时把lucene这块搞一搞,这拖了2年多了,终于开始搞这块了. 开发环境 idea2016.lucene6.0.jd ...
- ViewPager详解
一.ViewPager简介 ViewPager 如其名所述,是负责翻页的一个 View.准确说是一个 ViewGrop,包含多个 View 页,在手指横向滑动屏幕时,其负责对 View 进行切换.为了 ...
- koa中间件系统原理及koa+orm2实践。
koa是由 Express 原班人马打造的新的web框架.套用其官方的说法:Koa 应用是一个包含一系列中间件 generator 函数的对象. 这些中间件函数基于 request 请求以一个类似于栈 ...
- android添加权限--eclipse
首先进入清单文件 2.点击下面的permissions----Add 3.选择Uses permission-----OK 4.选择需要的权限 5.查看代码,,已经添加完毕
- GDAL C# 开发环境配置
http://blog.csdn.net/mygisforum/article/details/22478491
- 梳理下Cordova的热更新
公司的大部分都是Hybrid 产品,也就是混合开发,所以比较重要的一个核心功能就是热更新了. 做这个功能的时候中间碰到不少坑,记录一下,比较简单,大致思想就是从服务器拉取JS文件替换掉本地对应文件 之 ...
- 撸一个Android高性能日历控件,高仿魅族
Android原生的CalendarView根本无法满足我们日常开发的需要,在开发吾记APP的过程中,我觉得需要来一款高性能且美观简洁的日历控件,觉得魅族的日历风格十分适合,于是打算撸一款. gith ...
- MyBatis框架原理(三)
一.框架结构原理图 二.MyBatis框架执行流程 三.总结 原理详解: MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置, ...
- python复习。知识点小记
1.对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: >>> ord('A') >>> ord('中' ...
- 2.4G无线收发模块/射频RFM75调试总结/RF知识整理
射频RFM75通信是收发双方都需要编程的器件,收发双方的通道频率,空中传输速率设置一致,调试时必须先调通一块再调另一块,否则出现问题了就不知道是发送端有问题还是接收端有问题.调试必须理清思路.正确的方 ...