MongoDB 聚合管道(aggregate)
1、aggregate() 方法
我们先插入一些测试数据
{
"_id" : ObjectId("5abc960c684781cda6d38027"),
"name" : "郭大爷",
"sex" : "男",
"age" : 80.0,
"skil" : [
"PHP",
"Js",
"MySql",
"Html",
"Css"
]
}
{
"_id" : ObjectId("5abc960c684781cda6d38028"),
"name" : "郭大爷",
"sex" : "男",
"age" : 60.0,
"skil" : [
"PHP",
"MySql"
]
}
{
"_id" : ObjectId("5abc960c684781cda6d38029"),
"sex" : "女",
"age" : 15.0,
"name" : "郭女侠"
}
{
"_id" : ObjectId("5abc960c684781cda6d3802a"),
"name" : "郭少爷",
"sex" : "男",
"age" : 18.0,
"skil" : [
"Css",
"Java",
"Html"
]
}
求和
查询一下所有人年龄的总和
db.userinfo.aggregate([
{ $group : {
_id : null,
age_sum : { $sum : "$age" }
}}
])
结果
{
"_id" : null,
"age_sum" : 173.0
}
平均值
求所有人年龄的平均值
db.userinfo.aggregate([
{
$group:{
_id: null,
age_avg: { $avg: "$age" }
}
}
]);
结果
{
"_id" : null,
"age_avg" : 43.25
}
最小值
db.userinfo.aggregate([
{
$group: {
_id: null,
age_min: { $min: "$age" }
}
}
]);
结果
{
"_id" : null,
"age_min" : 18.0
}
MongoDB 聚合管道(aggregate)的更多相关文章
- MongoDB 聚合(管道与表达式)
MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). aggregate() 方法 MongoDB中 ...
- MongoDB.Driver 管道 Aggregate
目前mongodb for C#这个驱动,在进行Aggregate时,只支持BsonDocument类型,也就是说,你的集合collection也必须返回的是BsonDocument,而实体类型是不可 ...
- MongoDB 聚合管道(Aggregation Pipeline)
管道概念 POSIX多线程的使用方式中, 有一种很重要的方式-----流水线(亦称为"管道")方式,"数据元素"流串行地被一组线程按顺序执行.它的使用架构可参考 ...
- MongoDB聚合管道(Aggregation Pipeline)
参考聚合管道简介 聚合管道 聚合管道是基于数据处理管道模型的数据聚合框架.文档进入一个拥有多阶段(multi-stage)的管道,并被管道转换成一个聚合结果.最基本的管道阶段提供了跟查询操作类似的过滤 ...
- MongoDB基础教程系列--第七篇 MongoDB 聚合管道
在讲解聚合管道(Aggregation Pipeline)之前,我们先介绍一下 MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进行一系列操作,例如,求最 ...
- MongoDB聚合管道
通过上一篇文章中,认识了MongoDB中四个聚合操作,提供基本功能的count.distinct和group,还有可以提供强大功能的mapReduce. 在MongoDB的2.2版本以后,聚合框架中多 ...
- mongodb聚合管道用法
基本用法 db.collection.aggregate( [ { <stage> }, ... ] ) stage如下 名称 描述 $addFields 将新的字段添加到文档中,输出的文 ...
- mongodb聚合查询-aggregate
Mongodb-aggregate 在工作中经常遇到一些mongodb的聚合操作,和mysql对比起来,mongo存储的可以是复杂的类型,比如数组,字典等mysql不善于处理的文档型结构,但是mong ...
- MongoDB 聚合管道
参见:http://www.cnblogs.com/liruihuan/p/6686570.html MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进 ...
随机推荐
- python 写一个贪吃蛇游戏
#!usr/bin/python #-*- coding:utf-8 -*- import random import curses s = curses.initscr() curses.curs_ ...
- Python 2.7.x 和 3.x 版本的语法区别
<__future__模块> Python 3.x引入了一些与Python 2不兼容的关键字和特性,在Python 2中,可以通过内置的__future__模块导入这些新内容.如果你希望在 ...
- Dalvik 虚拟机 jvm 区别
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha dalvik 基于 寄存器, jvm基于 栈. 寄存器,编译时间会更短. dalvik ...
- 「COCI2016/2017 Contest #2」Bruza
「COCI2016/2017 Contest #2」Bruza 解题思路 : 首先对于任意时刻 \(i\) ,硬币一定移动到了深度为 \(i\) 的节点,所以第 \(i\) 时刻 Danel 一定染掉 ...
- 【刷水-贪心】BZOJ1629-[Usaco2007 Demo]Cow Acrobats
[题目大意] 有n个头牛,给出体重和力量.每个牛的危险值等于它上面的牛的体重总和减去它的力量值,求所有方案中危险值最大值的最小值. [思路] 贪心.一开始脑补的贪心是体重大的先放下面,体重相同的根据力 ...
- bzoj 1086 树分块
将树分成一些块,做法见vfleaking博客. /************************************************************** Problem: 108 ...
- python开发_tkinter
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用, 同样可以应用在Windows和Macint ...
- Codeforces Round #302 (Div. 2) A. Set of Strings 水题
A. Set of Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/544/pr ...
- Android中数据存储(四)——ContentProvider存储数据
目录(?)[+] 当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方 ...
- TJU 2248. Channel Design 最小树形图
最小树形图,測模版.... 2248. Channel Design Time Limit: 1.0 Seconds Memory Limit: 65536K Total Runs: 2199 ...