mongodb 分组聚合_mongodb 聚合命令
MongoDB中聚合主要用于处理数据,如统计平均值,求和等等,并返回计算后的数据结果。
1. count
count函数返回指定集合中的数量。
> db. mediaCollection.count()
4
> db. mediaCollection.find( { Publisher : "Apress", Type: "Book" } ).count()
1
1
2
3
4
>db.mediaCollection.count()
4
>db.mediaCollection.find({Publisher:"Apress",Type:"Book"}).count()
1
2. distinct
distinct函数用来除重,找出所有不同的值。
> db. mediaCollection.distinct( "Title")
[ "Definitive Guide to MongoDB, the", "Nevermind" ]
> db. mediaCollection.distinct ("Tracklist.Title")
[ "In Bloom", "Smells like teen spirit" ]
1
2
3
4
>db.mediaCollection.distinct("Title")
["Definitive Guide to MongoDB, the","Nevermind"]
>db.mediaCollection.distinct("Tracklist.Title")
["In Bloom","Smells like teen spirit"]
3. group
group函数是类似于SQL的GROUP BY功能,虽然语法稍有不同。该命令的目的是返回分组的项目的数组。该函数有三个参数: key, initial, reduce。
key参数指定要以什么来分组,如以标题进行分组。
initial参数每个分组reduce调用的初始值。
reduce参数同类元素放在一起,需要两个参数:当前被遍历的文档和聚集计数器对象。
> db. mediaCollection.group (
... {
... key: {Title : true},
... initial: {Total : 0},
... reduce : function (items,prev)
... {
... prev.Total += 1
... }
... }
... )
[
{
"Title" : "Definitive Guide to MongoDB, the",
"Total" : 1
},
{
"Title" : "Nevermind",
"Total" : 2
},
{
"Title" : null,
"Total" : 1
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>db.mediaCollection.group(
...{
...key:{Title:true},
...initial:{Total:0},
...reduce:function(items,prev)
...{
...prev.Total+=1
...}
...}
...)
[
{
"Title":"Definitive Guide to MongoDB, the",
"Total":1
},
{
"Title":"Nevermind",
"Total":2
},
{
"Title":null,
"Total":1
}
]
除了key, initial, reduce参数,还可以指定三个可选参数:keyf,cond,finalize。
group函数目前不能在分片环境下使用,可以使用MapReduce函数来代替。
mongodb 分组聚合_mongodb 聚合命令相关推荐
- mongodb 分组聚合_MongoDB聚合嵌套分组
我有资产收集,其中包含数据 { "_id" : ObjectId("5bfb962ee2a301554915"), "users" : [ ...
- limit mongodb 聚合_MongoDB 聚合操作(转)
在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多台Server上并行执行复 ...
- MongoDB分组查询,聚合查询,以及复杂查询
准备数据 from pymongo import MongoClient import datetimeclient=MongoClient('mongodb://localhost:27017') ...
- MongoDB分组查询、聚合查询
- mongodb 分组聚合_MongoDB干货总结
什么是MongoDB 基于分布式文件存储的数据库,介于非关系型和关系型数据库之间. MongoDB和MySQL对比 MongoDB有什么特点 (1)面向集合存储数据,数据以json格式存储: (2)查 ...
- MongoCola使用教程 1 - MongoDB的基本操作和聚合功能
前言 在开始正文之前,感谢博客园的Nosql爱好者对于MongoCola工具的试用(使用).特别感谢 呆呆 这位朋友的Bug报告,让我纠正了一个很严重的Bug.同时也感谢以前的多个网友在博客留言中给我 ...
- mongodb基础操作之聚合操作、索引优化
mongodb基础操作之聚合操作.索引优化 更好的阅读体验 https://www.wolai.com/wrMtYWKdkzKYjoWM1i64qu 目录 聚合操作 聚合管道操作 Map-Reduce ...
- Django的mode的分组查询和聚合查询和F查询和Q查询
1.聚合查询 # 聚合函数aggregate,求指定字段的最大值,最小值,平均值,和的值,方法如下from django.db.models import Avgfrom django.db.mode ...
- eNSP第二篇:Eth-trunk,链路聚合,常用命令,二层链路聚合和三层链路聚合
链路聚合,Eth-trunk,ip-trunk 链路聚合:顾名思义,就是将多条链路聚合成一条链路,这条链路的带宽等于所有有效链路的总和:属于可靠性技术. 主要作用是:提高带宽,增加可靠性 在eNSP中 ...
最新文章
- 字符集 ISO-8859-1(1)
- 合并两个有序数组—leetcode88
- JAVA 判断Socket 远程端是否断开连接
- 浏览器保存密码后文本框出现黄色背景的解决方案
- 1.单进程SAPI生命周期
- 机器学习资料合计(一)
- CTR点击率预估实战分享
- OCJP认证有什么用
- C++ 负数在内存中存储
- ac命令行隐藏ssid_胖AP性能,多SSID,SSID隐藏,评测小结
- 如何用工具自动修复数字IC后端设计实现绕线后的Physical DRC_
- 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.20)-- ANA
- PCM开发板模块实验指导--SPI读写PSRAM64实验
- 疫情让“灵活用工”浮出水面,作为Android开发的你“灵活用工”了吗?
- 简单的方法保存微信语音
- Docker修改镜像源为阿里云
- 保弘实业|理财要有合理的计划
- asp.ne服务器代码显示http://l.longtailvideo.com/download/5/9/logo.png不可用,在Window Server2008 服务器上无法播放MP4媒体问题
- 基于JAVA Frame的太阳系行星运转系统
- 超实用!Python机器学习书籍推荐——《Python神经网络编程》(一定要看到最后)
热门文章
- javascript兼容性:IE6/7关闭浏览器操作
- lambda表达式 java 效率_Java8新特性效率之Lambda
- XElement.Load 需要释放吗_奥施康定掰开后能当即释片用吗?
- 如何解决aText for mac不响应的教程
- 1.5 编程基础之循环控制 33 计算分数加减表达式的值 python
- 第43课 最大公约数 动动脑 第2题《小学生C++趣味编程》
- 1.5 编程基础之循环控制 35 求出e的值
- GIT上传下载报错:[You do not have permission to pull from the repository]的解决方案!
- java精通时间_你真的精通 Java 吗?
- mysql对结果限制_在查询中限制MySQL结果