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)的更多相关文章

  1. MongoDB 聚合(管道与表达式)

    MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). aggregate() 方法 MongoDB中 ...

  2. MongoDB.Driver 管道 Aggregate

    目前mongodb for C#这个驱动,在进行Aggregate时,只支持BsonDocument类型,也就是说,你的集合collection也必须返回的是BsonDocument,而实体类型是不可 ...

  3. MongoDB 聚合管道(Aggregation Pipeline)

    管道概念 POSIX多线程的使用方式中, 有一种很重要的方式-----流水线(亦称为"管道")方式,"数据元素"流串行地被一组线程按顺序执行.它的使用架构可参考 ...

  4. MongoDB聚合管道(Aggregation Pipeline)

    参考聚合管道简介 聚合管道 聚合管道是基于数据处理管道模型的数据聚合框架.文档进入一个拥有多阶段(multi-stage)的管道,并被管道转换成一个聚合结果.最基本的管道阶段提供了跟查询操作类似的过滤 ...

  5. MongoDB基础教程系列--第七篇 MongoDB 聚合管道

    在讲解聚合管道(Aggregation Pipeline)之前,我们先介绍一下 MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进行一系列操作,例如,求最 ...

  6. MongoDB聚合管道

    通过上一篇文章中,认识了MongoDB中四个聚合操作,提供基本功能的count.distinct和group,还有可以提供强大功能的mapReduce. 在MongoDB的2.2版本以后,聚合框架中多 ...

  7. mongodb聚合管道用法

    基本用法 db.collection.aggregate( [ { <stage> }, ... ] ) stage如下 名称 描述 $addFields 将新的字段添加到文档中,输出的文 ...

  8. mongodb聚合查询-aggregate

    Mongodb-aggregate 在工作中经常遇到一些mongodb的聚合操作,和mysql对比起来,mongo存储的可以是复杂的类型,比如数组,字典等mysql不善于处理的文档型结构,但是mong ...

  9. MongoDB 聚合管道

     参见:http://www.cnblogs.com/liruihuan/p/6686570.html MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进 ...

随机推荐

  1. javascript入门教程笔记

    BOM BOM 是“ Browser Object Model ”的缩写,简称“ 浏览器对象模型 ”. BOM 定义了 JavaScript 操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小.版 ...

  2. 管理openstack多region介绍与实践

    转:http://www.cnblogs.com/zhoumingang/p/5514853.html 概念介绍 所谓openstack多region,就是多套openstack共享一个keyston ...

  3. python解决组合问题

    1.问题描述 比如9个数中取4个数的组合以及列出各种组合,该如何做? 我们可以考虑以下一个简单组合:从1,2,3,4,5,6中,如何选取任意四个数的组合. 固定:1   2  3  ,组合有1234 ...

  4. 变量的解构赋值--ES6

    1. 数组的解构赋值 基本用法 let [a, b, c] = [1, 2, 3]; let [a,,c] = [1,2,3]; let [a,...b] = [1,2,3]; // a=1; b=[ ...

  5. 【BZOJ 2024】 2024: [SHOI2009] 舞会 (容斥原理+高精度)

    2024: [SHOI2009] 舞会 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 368  Solved: 102 Description OIto ...

  6. [BJOI2017]魔法咒语 --- AC自动机 + 矩阵优化

    bzoj 4860   LOJ2180   洛谷P3175 [BJOI2017]魔法咒语 题目描述: Chandra 是一个魔法天才. 从一岁时接受火之教会洗礼之后,Chandra 就显示出对火元素无 ...

  7. [APIO2015]巴厘岛的雕塑 --- 贪心 + 枚举

    [APIO2015]巴厘岛的雕塑  题目描述 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道. 在这条主干道上一共有\(N\)座雕塑,为方便起见,我们把这些雕塑从 1 到\(N\)连续地进行 ...

  8. [BZOJ 2821] 作诗

    Link: BZOJ 2821 传送门 Solution: 一道类似区间众数的经典分块 由于个数为偶数这样的条件不能支持快速合并 因此要先$O(n*sqrt(n))$预处理出$pre[i][j]$表示 ...

  9. 【最大化平均值】POJ3111-K Best

    [题目大意] 给出v[]和w[],求的最大值. [思路] 二分s(S)的值,可变形为s(S)*Σw>=Σv,所以只需要把求出x*w[i]-v[i],看看前k个的和是否大于等于0,大于等于0就满足 ...

  10. uoj386 【UNR #3】鸽子固定器

    link (似乎很久没写题解了) 题意: n个物品,每个物品有a,b两个值,给定A,B,现在最多选其中m个,要求最大化选出的物品中[b权值和的B次方-a极差的A次方]. $n\leq 2\times ...