首页 > 数据库 >mongodb5文档操作2-聚合查询数据

mongodb5文档操作2-聚合查询数据

时间:2023-07-11 09:36:56浏览次数:38  
标签:聚合 address db person 文档 mongodb5 aggregate group id

Mongodb聚合函数查询

1.match函数

db.person.aggregate([{"$match":{"address":"龙泉"}}])

2.group分组查询

db.person.aggregate([

{$group:

{_id:"$address",

count:{$sum:1}

}

}

])

3.按条件分组查询

db.person.aggregate([

{$match:

{sex:"女"}

},

{$group:

{_id:"$team",

count:{$sum:1}

}

}

])

4.平均数

db.person.aggregate([{$group : {_id : "$team", avg_age : {$avg : "$age"}}}])

5.最大数

db.person.aggregate([{$match:{sex:"女"}},{$group : {_id : "$team", max_age : {$max : "$age"}}}])

6.最小数

db.person.aggregate([{$match:{sex:"女"}},{$group : {_id : "$team", min_age : {$min : "$age"}}}])

7.求和

db.person.aggregate([{$match:{sex:"女"}},{$group : {_id : "$team", sum_age : {$sum : "$age"}}}])

8.查看第一个

db.person.aggregate([{$match:{sex:"女"}},{$group : {_id : "$team", first_address : {$first : "$address"}}}])

9.查看最后一个

db.person.aggregate([{$match:{sex:"女"}},{$group : {_id : "$team", last_address : {$last : "$address"}}}])

10.求和排序

db.person.aggregate([{$group :{_id : "$address", count:{$sum:1}}},{$sort:{count:-1}}])

11.限制显示多少行

db.person.aggregate([{$group :{_id : "$address", count:{$sum:1}}},{$sort:{count:-1}},{$limit:2}])

12.跳过多少行

db.person.aggregate([{$group :{_id : "$address", count:{$sum:1}}},{$sort:{count:1}},{$skip:1}])

标签:聚合,address,db,person,文档,mongodb5,aggregate,group,id
From: https://www.cnblogs.com/shaohuang/p/17542964.html

相关文章

  • mongodb5文档操作2-排序查询数据
    Mongodb查询排序操作1.通过1控制正序显示db.teacher.find().sort({"_id":1})2.通过-1控制倒序显示db.teacher.find().sort({"_id":-1})......
  • PMSM滑模控制仿真无位置 永磁电机 可提供文档if启动 如果没有收敛,将1e-4搞小一点 e-6
    PMSM滑模控制仿真无位置永磁电机可提供文档if启动如果没有收敛,将1e-4搞小一点e-6或者e-5试下本次滑模模型文档包括:1simulink界面调整,由于使用这个仿真的时候很可能会出现因为软件环境不同导致无法使用,或者导致的波形错误,特写了一个关于参数界面的设置,按照那个设置,结合......
  • SpringBoot集成JApiDocs实现自动生成接口文档
    一、概念JApiDocs是一个符合Java编程习惯的Api文档生成工具。最大程度地利用Java的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs会帮你导出一份漂亮的Html文档,并生成相关的Java和Object-C相关数据模型代码,从此,Android和IOS的同学可以少敲很多代码了,你也不......
  • QNX-9—QNX官网文档翻译—Resource Managers—Examples
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_examples.html我现在将向您展示一些......
  • QNX-9—QNX官网文档翻译—Resource Managers—Handler routines
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_routines.html并非所有outcalls都......
  • Mac中使用命令行来加密压缩zip文档
    背景最近需要对一些文件加密,但是Mac上没有找到相应的加密工具,macOS中创建密码保护的压缩zip文件很容易并且不需要任何额外附加物或下载。使用命令行的方式处理即可。对压缩包加密之后便意味着有人想要解压缩zip文件时,必须输入正确的密码才能取出归档文件。命令压缩文件时带入......
  • QNX-9—QNX官网文档翻译—Resource Managers—开篇
    注:本文翻译自:http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr.html 一、本章前言在本章中,我们将了解编写资源管理器需要了解的内容。 资源管理器是QNXNeutrino的另一个显着功能,它允许您通过标准POSIX调用访问......
  • QNX-9—QNX官网文档翻译—Resource Managers—What is a resource manager?
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_What_is.html1.概述资源管理器只......
  • QNX-9—QNX官网文档翻译—Resource Managers—The resource manager library
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_the_resource_manager_librar......
  • Neo4j 官方文档(中文版)
    Neo4j官方文档本文档目前对以下内容未做详细记录neo4j数据库与Cypher索引Indexes约束constraints数据库管理Databasemanagement访问控制Accesscontrol配置设置Querytuning执行计划Executionplans编程接口JavaAPI其他编程语言的DriverA......