MongoDB查詢高階

2021-10-02 11:44:05 字數 1413 閱讀 5305

投影

對返回的結果進行篩選,返回必要的字段:

- db.col.find(, )

引數為字段與值,值為1表示顯示

特殊: 對於_id列缺省是顯示的, 如果不顯示需要明確設定為0

mongodb查詢條件除了支援使用比較運算子之外,還支援範圍、正則、邏輯運算子、分頁、排序、統計個數等

邏輯運算子

and條件:find()方法可以傳入多個鍵,每個鍵以逗號隔開,即常規sql的and條件

or條件:

db.collection_name.find(, ]

}).pretty()

正規表示式
使用//或者$regex編寫正規表示式:

- db.col.find(})

範圍查詢:非連續範圍
範圍使用$in、$nin判斷是否在某個範圍:db.col.find(})
排序
使用sort()方法對查出來的資料進行排序

sort():db.col.find(),.sort()

- 1:公升序

- -1:降序

db.stu.find().sort()

限制數量
使用limit()和skip()來讀取指定數目文件、跳過指定數目文件

limit():db.col.find().limit(number)

skip():db.col.find().skip(number)

組合使用:

- db.stu.find().limit(4).skip(5)

- db.stu.find().skip(5).limit(4)

統計個數
使用count()方法對查出的資料統計個數

count():

- db.col.find().count()

消除重複
使用distinct()方法對資料去重:

- db.col.distinct('去重欄位', )

db.stu.distinct('hometown',})

自定義查詢
自定義查詢:使⽤$where後⾯寫⼀個函式, 返回滿⾜條件的資料

db.stu.find(

})

$type操作符

$type操作符是基於bson型別來檢索集合中匹配的資料型別,並返回結果

如果想獲取 "col" 集合中 title為string 的資料,你可以使用以下命令:

db.col.find(})

mongodb中使用的資料型別如下:

mongoDB高階查詢解析

資料查詢 find 查詢 db.集合名稱.find findone 查詢,只返回第乙個 db.集合名稱.findone pretty 將結果格式化n db.集合名稱.find pretty 比較運算子 等於 預設是等於判斷,沒有運算子 小於 lt less than 小於等於 lte less th...

mongodb 學習筆記 高階查詢

spring 整合mongodb 高階查詢 分組查詢 groupby groupbyresultsorg.springframework.data.mongodb.core.mongotemplate.group criteria arg0,string arg1,groupby arg2,clas...

mongoDB6 高階查詢

db.orderinfo find count db.runcommand values 結果如下 1 null,100.0,200.0 db runcommand 分組首先會按照key進行分組,每組的 每乙個文件全要執行 reduce的方法,他接收2個引數乙個是組內本條記錄,乙個是累加器資料.查出...