我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mongo 聚合查询

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mongo 聚合查询

*****************未加索引******************************************

> var startTime = new Date();

> db.temMinlog.find({"id":0}).count();

1215

>  (new Date().getTime()-startTime.getTime())/1000

194.811s


******************加索引*****************************************

> db.temMinlog.ensureIndex({"_id":1,"id":1});


{

"createdCollectionAutomatically" : false,

"numIndexesBefore" : 1,

"numIndexesAfter" : 2,

"ok" : 1

}


******************加索引后查询*****************************************

> var startTime = new Date();

> db.temMinlog.find({"id":0}).count();

1215

>  (new Date().getTime()-startTime.getTime())/1000

227.247s



时间范围检索

db.temMinlog.find({"_id":{$gte:1498703926535,$lte:1498704749897},"id":0}).explain("executionStats");

结果"executionStats" : {

"executionSuccess" : true,

"nReturned" : 52,

"executionTimeMillis" : 9506,

"totalKeysExamined" : 518000,

"totalDocsExamined" : 52,

"executionStages" : {

"stage" : "FETCH",

"nReturned" : 52,

"executionTimeMillisEstimate" : 2175,

"works" : 518001,

"advanced" : 52,

"needTime" : 517947,

"needYield" : 0,

"saveState" : 8151,

"restoreState" : 8151,

"isEOF" : 1,

"invalidates" : 0,

"docsExamined" : 52,

"alreadyHasObj" : 0,

"inputStage" : {

"stage" : "IXSCAN",

"nReturned" : 52,

"executionTimeMillisEstimate" : 2145,



模糊查询

db.temMinlog.find({"_id":{$gte:1498703926535,$lte:1498704749897},"id":/0/}).explain("executionStats");

结果 "executionStats" : {

"executionSuccess" : true,

"nReturned" : 1,

"executionTimeMillis" : 9893,

"totalKeysExamined" : 518001,

"totalDocsExamined" : 1,

"executionStages" : {

"stage" : "FETCH",

"nReturned" : 1,

"executionTimeMillisEstimate" : 2237,

"works" : 518002,

"advanced" : 1,

"needTime" : 517999,

"needYield" : 0,

"saveState" : 8151,

"restoreState" : 8151,

"isEOF" : 1,

"invalidates" : 0,

"docsExamined" : 1,

"alreadyHasObj" : 0,

"inputStage" : {

"stage" : "IXSCAN",

"filter" : {

"id" : {

"$regex" : "0"

}

},

"nReturned" : 1,

"executionTimeMillisEstimate" : 2185,

模糊count()

> var startTime = new Date();  

> db.temMinlog.find({"_id":{$gte:1498703926535,$lte:1498704749897},"id":{$in:[1,2,3]}}).count();

156

> (new Date().getTime()-startTime.getTime())/1000  

11.232s

*************************group by 统计*************************************

db.temMinlog.aggregate([{$group:{_id:"$id",num_tutorial:{$sum:1}}}]);


db.temMinlog.aggregate([{$group:{_id:"$id",max_v0:{$max:"$v0"},min_v1:{$min:"$v1"},count:{$sum:1}}}],{ allowDiskUse: true });


db.temMinlog.aggregate([{$group:{_id:"$id",max_v0:{$max:"$v0"},min_v1:{$min:"$v1"},avg_v2:{$avg:"$v2"},count:{$sum:1}}}],{ allowDiskUse: true });


db.temMinlog.aggregate([{$match:{_id:{$gte:1498703926535,$lte:1498704749897}}},{$group:{_id:"$id",max_v0:{$max:"$v0"},min_v1:{$min:"$v1"},avg_v2:{$avg:"$v2"},sum_v2:{$sum:"$v2"},count:{$sum:1}}}],{ allowDiskUse: true });

结果:12.194s


db.temMinlog.aggregate([{$match:{_id:{$gte:1498703926535,$lte:1498704749897}}},{$limit:5},{$group:{_id:"$id",max_v0:{$max:"$v0"},min_v1:{$min:"$v1"},avg_v2:{$avg:"$v2"},sum_v2:{$sum:"$v2"},count:{$sum:1}}},{$sort:{_id:-1}}],{ allowDiskUse: true });

$match:匹配条件,可选

$limit:结果条数,可选

$group:聚合规则

$sort:对查询结果排序,-1表示降序



db.temMinlog.aggregate([{$match:{_id:{$gte:1498703926535,$lte:1498704749897}}},{$group:{_id:"$id",max_v0:{$max:"$v0"},min_v1:{$min:"$v1"},avg_v2:{$avg:"$v2"},sum_v2:{$sum:"$v2"},count:{$sum:1}}},{$limit:5},{$sort:{_id:-1}}]);

结果:21.048s


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mongo 聚合查询

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【MySQL】进阶查询-聚合查询和联合查询

文章目录 1. 前言2. 表的设计2.1 一对一2.2 一对多2.3 多对多 3.将查询结果放到另一个表中4. 聚合查询4.1 聚合函数4.2 GROUP BY4.3 HAVING 5. 联合查询(多表查询)5.1 内连接5
2023-08-17

MySQL进阶查询、聚合查询和联合查询

目录1. 前言2. 表的设计2.1 一对一2.2 一对多2.3 多对多3.将查询结果放到另一个表中4. 聚合查询4.2 GROUP BY4.3 HAVING5. 联android合查询(多表查询)5.1 内连接5.2 外连接5.3 自连接5
2023-04-12

MYSQL聚合查询、分组查询、联合查询举例详解

目录聚合查询聚合函数count()sum()avg()max()和min()总结分组查询group by 子句having 子句联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询合并查询总结 聚合查询聚合查
MYSQL聚合查询、分组查询、联合查询举例详解
2024-09-23

MongoDB聚合查询详解

这篇文章主要介绍了MongoDB聚合查询详解的相关资料,需要的朋友可以参考下
2022-12-26

mongodb高级聚合查询

https://www.cnblogs.com/zhoujie/p/mongo1.htmlmongodb高级聚合查询   在工作中会经常遇到一些mongodb的聚合操作,特此总结下。mongo存储的可以是复杂类型,比如数组、对象等mysql不善于处理的文档型结
mongodb高级聚合查询
2016-06-26

MongoDB 聚合查询详解

目录聚合管道管道阶段常见操作更多操作 - 投影更多操作 - 展开更多操作 - 分组更多操作 - 入库条件组累加器算术运算最值运算数组提取其他运算聚合管道聚合框架是 MongoDB 中的一组分析工具,可以对一个或多个集合中的文档进行分析。
2022-12-26

减法聚合 Mongo 文档 Golang

php小编子墨今天为大家介绍减法聚合 Mongo 文档 Golang。在Golang开发中,使用MongoDB作为数据库是非常常见的选择。而MongoDB提供了强大的聚合框架,可以对文档进行各种复杂的聚合操作。其中,减法聚合是一种特殊的聚合
减法聚合 Mongo 文档 Golang
2024-02-08

mongo:查询集合中所有字段名称

解决方法有好多: 更多解决方法请参考:http://cn.voidcc.com/question...我只提供一种简单的,速度相对快的:python的高级函数,没错思想就是集合去重。 from functools import redu
2023-01-31

MySQL中的聚合查询和联合查询怎么实现

这篇文章主要介绍“MySQL中的聚合查询和联合查询怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL中的聚合查询和联合查询怎么实现”文章能帮助大家解决问题。一、聚合查询(行与行之间的计
2023-07-05

MySQL中的聚合查询和联合查询操作代码

目录一、聚合查询(行编程与行之间的计算)1.常见的聚合函数有:2.group by3.having二、联合查询(多表查询)1.进行联合查询的步骤:2.内连接(from,join on)3.外连接(left/right join on)4.自
2023-03-20

编程热搜

目录