第23章:MongoDB-聚合操作--聚合命令
范例:统计students表中的数据量
db.students.count();
范例:模糊查询
db.students.count("name":/张/i);
范例:求某个字段不同的值
db.students.distinct("name");
db.runCommand({"distinct":"students","key":"name"});
key: 用于指定要分组的键
initial: 对于分组统计的字段设置键名和初始值
reduce: 循环每个分组中的每个文档,一组循环完了会继续下一组
condition:用于分组前筛选掉不满足条件的文档
finalize: 用于对分组后的结果进一步处理,每组都会调用finalize
db.articles.group({
"key": {"author": true},
"initial": {"sum": 0},
"reduce": function(doc, prev) {
if(doc.like > 10) {
prev.sum += 1;
}
}
})
[
{
"author" : "zhangsan",
"sum" : 2
},
{
"author" : "lisi",
"sum" : 2
},
{
"author" : "mengday",
"sum" : 0
}
]
db.articles.group({
"key": {"author": true},
"initial": {"sum": 0},
"reduce": function(doc, prev) {
if(doc.like > 10) {
prev.sum += 1;
}
},
"condition":{"author": {"$ne": "mengday"}}
})
[
{
"author" : "zhangsan",
"sum" : 2
},
{
"author" : "lisi",
"sum" : 2
}
]
db.articles.group({
"key": {"author": true},
"initial": {"sum": 0},
"reduce": function(doc, prev) {
if(doc.like > 10) {
prev.sum += 1;
}
},
"condition":{"author": {"$ne": "mengday"}},
"finalize": function(doc){
if(doc.author == "zhangsan"){
delete doc
}
}
})
[
{
"author" : "zhangsan",
"sum" : 3
},
{
"author" : "lisi",
"sum" : 2
}
]
范例:查询所有年龄大于等于19岁的学生信息,并且按照年龄分组
db.runCommand({"group":{
"ns":"students",//集合
"key":{"age":true},//按照age分组
"initial":{"count":0},//默认数量为0
"condition":{"age":{"$gt":19}},//条件
"$reduce":function(doc,prev){//完成后的操作
prev.count ++;
}
}});
转载于:https://www.cnblogs.com/Lucky-stars/p/10555313.html
第23章:MongoDB-聚合操作--聚合命令相关推荐
- mongodb客户端操作常用命令
一启动mongodb数据库 mongod --dbpath E:\mongo\data\db(这里些自己的mongodb数据库存放目录) 二客户端操作 1.显示数据库集合 show dbs 2.新建数 ...
- [Python设计模式] 第23章 烤串的哲学——命令模式
github地址:https://github.com/cheesezh/python_design_patterns 题目1 用程序模拟,顾客直接向烤串师傅提需求. class Barbecuer( ...
- Scrapy框架之MongoDB聚合操作
目录 MongoDB聚合操作 聚合操作的基本语法 常用的聚合操作 管道命令之$group 按照某个字段进行分组 详解 计算集合中某个字段的平均值 常用表达式 管道命令之$match 示例 管道命令之$ ...
- mongodb基础操作之聚合操作、索引优化
mongodb基础操作之聚合操作.索引优化 更好的阅读体验 https://www.wolai.com/wrMtYWKdkzKYjoWM1i64qu 目录 聚合操作 聚合管道操作 Map-Reduce ...
- 2021年大数据常用语言Scala(二十七):函数式编程 聚合操作
目录 聚合操作 聚合 reduce 定义 案例 折叠 fold 定义 案例 聚合操作 聚合操作,可以将一个列表中的数据合并为一个.这种操作经常用来统计分析中 聚合 reduce reduce表示 ...
- 第10章 MongoDB 删除数据库教程
MongoDB 删除database 语法 MongoDB 删除database的语法格式如下: db.dropDatabase() 删除当前database,默认为 test,尊敬的读者您可以使用 ...
- 第46章 MongoDB 自动增长教程
第46章 MongoDB 自动增长教程 MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的12字节唯一标识. 但在某些情况下,咱们可能需要实现 Obj ...
- MongoDB数据库操作---mongoose操作
Mongoose认知概念 Mongoose是MongoDB的一个对象模型工具,其可以在一部环境下执行.同时它也是针对MongoDB操作的一个队形模型库,封装了MongoDB对文档的一些增删改查等常用方 ...
- mongodb的聚合操作
mongodb的聚合操作 1 mongodb的聚合是什么 聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组.过滤等功 ...
- MongoDB数据库(5.mongodb的聚合操作以及mongodb的高级查询2)
聚合aggregate 聚合(aggregate) 是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage) 组成的管道,可以对每个阶段的 管道进行分组.过滤等功能,然后经过一系列的处理, ...
最新文章
- Chart.js-饼状图分析(参数分析+例图)
- PowerDesigner最基础的使用方法入门学习
- golang中的信号
- 如何编写代码使jsp程序错误在输入框上面显示_252尚学堂百战程序员049天
- Kali-linux安装设置
- 漂亮表格的CSS定义
- 关于async和await的探讨
- nginx 监听同一端口
- CSS3 移动端开发技巧
- 惩罚函数外点matlab,禁忌搜索算法求解带时间窗的车辆路径问题(惩罚函数版 附MATLAB代码)...
- go语言查询某个值是否在数组中_一日一技:在 Golang 中如何快速判断字符串是否在一个数组中...
- utc时间 单位换算_utc时间(utc时间转换北京时间)
- 用matlab求roc曲线的面积Auc,sklearn计算ROC曲线下面积AUC
- Pwn-高阶ROP-[栈溢出]/篇3
- JAVA新手,开始起航~~
- QingCloud Insight 2016 | 科技,洞见未来
- 《操作系统导论》第37章课后答案
- Python编程基础题(9-求绝对值最大的元素)
- 神策军丨心中不留退路,才能全力以赴
- asp.net 引入html文件路径问题,asp.net 网站获取一个文件或文件夹的绝对路径,使用方法Server.MapPath(项目根目下虚拟文件路径)实现...