mongodb robomongodb 语句查询
程序员文章站
2022-04-14 14:31:42
...
mongodb robomongodb 语句查询
#根据时间范围查询
db.getCollection('request_log').find({"start_time" :{"$gte":"2017-06-21 10:19:00.000", "$lte":"2017-06-22 10:22:00.000"}}).limit(50).sort({ "start_time" : -1 });
#根据session_id查询
db.getCollection('request_log').find({"session_id":"40e6a7c056ef11e79660ff014f08bbd6"}).limit(50).sort({ "start_time" : -1 });
#根据接口号查询 点语法
db.getCollection('request_log').find({"request.api_id":"daikou"}).limit(50).sort({ "start_time" : -1 });
#根据多条件查询
db.getCollection('request_log').find({"start_time": "2017-06-22 10:05:24.412","request.api_id": "daikou"}).limit(50).sort({ "start_time" : -1 });
#根据多条件 为 boolean
db.getCollection('request_log').find({"request.is_ok":true}).limit(50).sort({ "start_time" : -1 });
#根据多条件 为 null
db.getCollection('request_log').find({"request.debug": null}).limit(50).sort({ "start_time" : -1 });
#根据多条件 为 数字
db.request_log.find({"request.ret_size": 179}).limit(50).sort({ "start_time" : -1 });
#根据多条件 模糊查询
db.request_log.find({"req_msg": {$regex: 'ceshi', $options:'i'}}).limit(50).sort({ "start_time" : -1 });
#根据多条件 跳过前N个结果
db.request_log.find({"req_msg": {$regex: 'ceshi', $options:'i'}}).skip(0).limit(50).sort({ "start_time" : -1 }); db.request_log.find({"request.req_data": /异常/}).limit(50).sort({ "start_time" : -1 });
#查询特定值
db.xxx.find({},{"[要查询的字段]":1})
db.request_log.find({"start_time" :{"$gte":"2018-07-02 00:30:00.000", "$lte":"2018-07-02 23:59:00.000"}, "request.api_id":"shoudan@T40"},{"request.req_data":1}).limit(50).sort({ "start_time" : -1 });
mongodb sum
db.runCommand({"group":{ "ns":"request_log", "key":"request.api_id", "initial":{"total":0}, "$reduce" : function(doc,prev){ prev.total += 1; }, "condition":{"start_timAe" :{"$gte":"2019-05-05 00:00:00.000", "$lte":"2019-05-10 23:59:59.000"},"request.api_id":"oa_api_common@face_valid" } }});
结果
{ "retval" : [ { "total" : 216.0 } ], "count" : NumberLong(216), "keys" : NumberLong(1), "ok" : 1.0 }
mongodb group
db.request_log.group({ cond : {"start_time" :{"$gte":"2019-02-20 00:00:00.000", "$lte":"2019-02-20 23:59:59.999"}}, key : {"request.api_id":1}, initial : {counts:0,err_counts:0,time_lens:0,error_time_lens:0}, reduce : function Reduce(cur, out) { out.counts++; out.time_lens += cur.time_len; if(cur.request != null){ if(!cur.request.is_ok){ out.err_counts++; out.error_time_lens += cur.time_len; } } }, finalize : function Finalize(out) { out.suc_counts = out.counts - out.err_counts; out.suc_time_lens = out.time_lens - out.error_time_lens; return out; }});
结果
[ { "request.api_id" : "common", "counts" : 2815.0, "err_counts" : 10.0, "time_lens" : 337030.0, "error_time_lens" : 653.0, "suc_counts" : 2805.0, "suc_time_lens" : 336377.0 }, { "request.api_id" : "order", "counts" : 128.0, "err_counts" : 1.0, "time_lens" : 10205.0, "error_time_lens" : 360.0, "suc_counts" : 127.0, "suc_time_lens" : 9845.0 } ]
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
上一篇: Spring MVC Controller配置方式
下一篇: Spring MVC 入门示例