MongoDB中的資料查詢

2021-12-29 21:42:20 字數 3267 閱讀 4530

準備資料

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

db.stu.insert()

基本查詢方法find()

db.集合名稱.find()方法findone()查詢,只返回第乙個

db.集合名稱.findone()

方法pretty()將結果格式化

db.集合名稱.find().pretty()

比較運算子

等於,預設就是等於判斷,沒有運算子

db.stu.find() //查詢所有年齡是18的同學小於:$lt

db.stu.find(}) //查詢年齡小於18的同學小於等於:$lte

db.stu.find(}) //查詢年齡小於等於18的同學大於: $gt

db.stu.find(}) //查詢年齡大於18的同學大於等於: $gte

db.stu.find(}) //查詢大於等於18的同學不等於: $ne

db.stu.find(}) //查詢年齡不等於18的同學邏輯運算子查詢時有多個條件,多個條件之間需要通過邏輯運算子來連線

邏輯與:預設的是邏輯與的關係

// 查詢年齡大於或等於18,並且性別為true的學生

邏輯或:使用$or,值為陣列,陣列中每個元素為json

// 查詢年齡大於18,或性別為false的學生

and和or一起使用

// 查詢年齡大於18或性別為true的學生,並且學生的姓名為郭靖

db.stu.find(},],name:'郭靖'})

範圍運算子

使用$in,$nin判斷是否在某個範圍內

// 查詢年齡為18,28的學生

正規表示式查詢

mongodb提供的終端shell,同時也是乙個js的執行器,可以編寫js的**和函式

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

// 查詢姓黃的同學

db.stu.find()

db.stu.find(})

自定義查詢

使用$where後面寫乙個函式,返回滿足條件的資料

limit和skip

limit():用於讀取指定數量的文件

db.集合名稱.find().limit(number)引數number:表示要讀取文件的條數 沒有指定number則顯示集合中所有文件// 顯示前兩條學生的資訊

skip:用於跳過指定數量的文件

db.集合名稱.find().skip(number)引數number表示跳過的記錄條數,預設值為0

limit和skip可以一起使用,不分先後順序。

投影

在查詢到的返回結果中,只選擇必要的字段,而不是選擇乙個文件的整個字段

語法:// 引數為字段與值,值為1表示顯示,值為0不顯示

db.集合名稱.find({},)

對於需要顯示的字段,設定為1即可,不設定即為不顯示

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

排序

方法sort(),用於對結果集進行排序

db.集合名稱.find().sort()引數1為公升序排列

引數-1為降序排列

// 排序 age 從小到大

統計個數

方法count()用於統計結果集中文件條數

db.集合名稱.find().count()

db.集合名稱.count()

例子// 統計age大於18 的總人數

消除重複

方法distinct()對資料進行去重

db.集合名稱.distinct('去重欄位',)例子:

// 查詢年齡大於18的學生,來自哪些省份

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

05 MongoDB資料查詢

示例 db.集合名稱.find db.sub.find db.集合名詞.findone 示例 db.sub.findone db.集合名詞.find pretty 示例 db.sub.find pretty 序號 符號含義1等於 預設用等於判斷,沒有運算子 2 lt小於3 lte 小於或者等於 4 ...

07 MongoDB 資料查詢

方法find 查詢 db.集合名稱.find 方法findone 查詢,只返回第乙個 db.集合名稱.findone 方法pretty 將結果格式化 db.集合名稱.find pretty 等於,預設是等於判斷,沒有運算子 小於 lt 小於或等於 lte 大於 gt 大於或等於 gte 不等於 ne...

MongoDB 各種資料查詢

高階查詢 關於資料的查詢,我單獨寫了一篇blog。含義 db.t user.find 列出表中所有資料 db.t user.findone 查詢集合中的第一條資料 db.t user.count 統計表中資料總數 語法 db.t user.find 練習 滿足name是dong,的所有資料 db.t...