文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

mongo 聚合查询

2024-04-02 19:55

关注

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

> 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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯