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


相关内容

热门资讯

日本2026年度防务白皮书,用... 日本政府于今日在防卫省官网上披露了其2026年度的国防白皮书。其中,日本方面提出一套极具争议的新叙事...
仅花2000美元,AI一口气攻... ► 文 观察者网心智观察所 纵观数学史,每一个里程碑式的突破,往往缺不了一个又一个天才数十年来的孤...
联想Googlebook 15... 【太平洋科技快讯】据 IT 之家报道,科技媒体 digitalcitizen 近日发布了一组联想 G...
蚌埠:一座老工业城市的“智变”... 盛夏时节,淮河两岸热潮奔涌。 走进蚌埠中国传感谷,安徽华鑫微纳的8英寸MEMS晶圆全自动生产线上,一...
24小时内,特朗普3个谎言被拆... 当地时间8月1日,美国总统特朗普突然在社交媒体上宣布,称包括伊朗在内的中东国家都向美国发出请求,希望...
韦布望远镜看穿戴森球假象 戴森球一直都被列为地外文明技术特征的典型标志,而据ScienceTimes网站最新消息,美国宾夕法尼...
全国青少年AI大赛落幕,科技教... 首届全国青少年人工智能大赛决赛在沪落幕。 文汇报记者 袁婧 摄 今天(8月3日)首届全国青少年人工智...
换电模式如何解决充电设施不足问... 当前新能源汽车保有量持续攀升,补能便利性成为影响用户购买决策的关键因素。在许多城市核心区及高速公路服...
AI演员30天涨粉40万,报价... 文 | 车芯AIBot 你刷到过这张脸吗? 大眼睛,鹅蛋脸,笑起来嘴角的弧度刚刚好。她做三明治、买...
SK海力士与闪迪将在FMS 2... IT之家 8 月 4 日消息,SK 海力士宣布联合闪迪(Sandisk),将在美国加州举办的闪存峰会...