mongo常用命令

最近一直在用mongo,收集下经常用到的mongo命令

工具:Robo 3T

工具特性:支持js脚本,便于增删改查操作,但插入大数据量不太适合,起两个shell就报错,单线程插入数据太慢了。

1、输出命令的执行时间(打印出来的是毫秒):

var start = new Date()

#命令块

var end = new Date()

end - start

2、查询(多条件)

1)精确匹配

‘字段名’:'字段值',‘字段名’:'字段值',‘字段名’:'字段值’.........‘字段名’:'字段值'

2)取某个范围(时间或者序号等)

关键字:

$gte:>=;

$gt:>;

$lte:<=;

$lt:<

$and:复合条件

复合条件(>= && <=):

“$and”:[{'字段名":{"$gle":xxxx}},{"字段名":{“$lte”:yyy}}]

举例:某个时间晚于:ISODate("2021-06-07T01:53:24.197Z"),且早于ISODate("2021-08-07T01:53:24.197Z")

单个条件(>, <):

"字段名":{$gt:ISODate("2021-06-07T01:53:24.197Z")

"字段名":{$lt:ISODate("2021-06-07T01:53:24.197Z")

"$and":[{"字段名":{$gte:ISODate("2021-06-07T01:53:24.197Z")}},{"sendTime":{$lte:ISODate("2021-08-07T01:53:24.197Z")}}]

db.getCollection('collectionName').find(

{

     'name1':'value1',

//    'name2':'value2',

    'name3':'value3',

    "$and":[{"time":{$gte:ISODate("2021-06-07T01:53:24.197Z")}},{"sendTime":{$lte:ISODate("2021-08-07T01:53:24.197Z")}}]

    }

)

3、分页、过滤、限制条数

关键字:skip(num)、limit(num)

修改page和num,控制分页参数

var page = 1

var num = 100

var sk = (page-1)*num

db.getCollection('XMessageSms').find({'value1' : 'name1' }).skip(sk).limit(num))

4、排序

关键字:sort,

格式:sort({字段名:-1/1})

-1--倒序;1--正序

举例:

db.getCollection('XMessageSms').find({'value1' : 'name1' }).sort({字段名:-1/1}}

又想分页,又想排序

var page = 1

var num = 100

var sk = (page-1)*num

db.getCollection('XMessageSms').find({'value1' : 'name1' }).skip(sk).limit(num).sort({sendTime:-1})

5、查看执行效率

关键字:.explain("executionStats")

具体使用:在执行语句最后面加即可

关键信息--"executionStats" ,“indexFilterSet“

以一次查询结果为例:

"indexFilterSet" : false,-----------------------无索引,有的话是true

"executionStats" : {

        "nReturned" : 100,-----------------------查询结果条数

        "executionTimeMillis" : 15519,--------本次查询执行的时间

        "totalDocsExamined" : 2625240,---------遍历的总数据量

        "inputStage" : {

                    "stage" : "COLLSCAN",----------全表遍历

        }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容