mongo 聚合查询
admin
2023-05-22 11:02:56
0

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

> 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


相关内容

热门资讯

这家意大利公司想让机械臂飞上太... 3D 打印是什么?你的直觉告诉你,是一台不足鞋盒大小的设备,吐出细如发丝的塑料,耗费数小时,堆叠成一...
2026荣耀性价比之王!实测半... 大家好,我是小杨,经过我线下门店实测、参数横向对比、用户口碑调研后,筛选出三款宝藏机型 —— 荣耀 ...
筑牢数字生命线,科士达以智慧能... 5月17日世界电信和信息社会日,2026 年国际电信联盟(ITU)以 “数字生命线:在互联世界中加强...
特朗普称将推迟对伊朗发动军事打... 当地时间5月18日,美国总统特朗普在社交平台“真实社交”发文表示,在卡塔尔、沙特阿拉伯、阿联酋领导人...
全国首个遥感卫星数据出境安全评... 5 月 18 日消息,据央视新闻今日报道,记者从海南省委网信办获悉,近日,全国首个遥感卫星数据出境安...
波兰防长:得和美国聊聊,不能以... 【文/观察者网 张菁娟】美军突然暂停对波兵力部署后,波兰连连喊话美国,迫切希望美方稳固对其安全承诺。...
世界博物馆日丨我在杭州修文物:... 5月18日,世界博物馆日。 在位于杭州市之江的浙江省博物馆,一场名为“古陶瓷修补装饰技艺展”的展览正...
“四川智造”如何护航天舟十号“... “四川智造”如何护航天舟十号“太空快递”? 2026年5月11日8时14分,搭载天舟十号货运飞船...
被困近11小时,广西柳州地震9... 5月18日,广西柳州市抗震救灾新闻发布会在太阳村镇上等村举行。柳州市消防救援局相关负责人介绍了91岁...
酒钢成功研发食品级瓶盖专用铝材 近日,酒钢突破传统热轧工艺限制,成功研发短流程铸轧薄坯高深冲铝板带——食品级瓶盖专用料,让国产高品质...