mongo常用命令

最近一直在用mongo,收集下經(jīng)常用到的mongo命令

工具:Robo 3T

工具特性:支持js腳本,便于增刪改查操作,但插入大數(shù)據(jù)量不太適合,起兩個shell就報錯,單線程插入數(shù)據(jù)太慢了。

1、輸出命令的執(zhí)行時間(打印出來的是毫秒):

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、分頁、過濾、限制條數(shù)

關鍵字:skip(num)、limit(num)

修改page和num,控制分頁參數(shù)

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、查看執(zhí)行效率

關鍵字:.explain("executionStats")

具體使用:在執(zhí)行語句最后面加即可

關鍵信息--"executionStats" ,“indexFilterSet“

以一次查詢結(jié)果為例:

"indexFilterSet" : false,-----------------------無索引,有的話是true

"executionStats" : {

? ? ? ? "nReturned" : 100,-----------------------查詢結(jié)果條數(shù)

? ? ? ? "executionTimeMillis" : 15519,--------本次查詢執(zhí)行的時間

? ? ? ? "totalDocsExamined" : 2625240,---------遍歷的總數(shù)據(jù)量

? ??????"inputStage" : {

? ? ? ? ? ? ? ? ? ? "stage" : "COLLSCAN",----------全表遍歷

????????}

}

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容