python中mongodb的幾種運算符


①比較運算符:

  等於:默認是等於判斷,沒有運算符

  小於:$lt(less than)

  小於等於:$lte(less than equal)

  大於:$gt(greater than)

  大於等於:$gte(greater than equal)

  不等於:$ne(not equal)

  db.stu.find({age:{$gte:18}})

②邏輯運算符:

  and:在json中寫多個條件即可,查詢年齡大於或等於18,並且性別為true的學生

  db.stu.find({age:{$gte:18},gender:true})

  or:使用$or,值為數組,數組中每個元素為json,查詢年齡大於18,性別為false的學生

  db.stu.find({$or:[{age:{$gt:18},{gender:flase}}]})

  查詢年齡大於18或性別為男生,並且姓名是郭靖

  db.stu.find({$or:[{age:{$gte:18},{gender:true}}],name:"gj"})

③范圍運算符:

  使用“$in”,"$nin"判斷是否在某個范圍內,查詢年齡為18,28的學生

  db.stu.find({age:{$in:[18,28]}})

④支持正則表達式

  使用//或regex編寫正則表達式,查詢姓黃的學生

  db.stu.find({name:/^黃/})

  db.stu.find({name:{$regex:"^黃"}})

⑤limit和skip

方法limit():用於讀取指定數量的文檔

  db.集合名稱.find().limit(number)

  //查詢2條學生信息  db.stu.find().limit(2)

方法skip():用於跳過指定數量的文檔

  db.集合名稱.find().skip(number)

  //db.stu.find().skip(2)

同時使用db.stu.find().limit(4).skip(5)或db.stu.find().skip(5).limit(4)

⑥自定義查詢:

  使用$where后面寫一個函數,返回滿足條件的數據

  查詢年齡大於30的學生

//db.stu.find(){

  $where:function(){

return this.age>30;

}

 }

⑦投影:

  在查詢到的返回結果中,只選擇必要的字段db.集合名稱.find({},{字段名稱:1...})

  參數為字段值,值為1表示顯示,值為0不顯

  特殊:對於_id列默認是顯示的,如果不顯示需要明確設置為0

⑧排序:

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

  db.集合名稱.find().sort({字段:1....})

  參數為1為升序排列

  參數為-1為降序排列

  根據性別降序,在根據年齡升序  db.stu.find().sort({gender:-1,age:1})

⑨統計個數

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

  db.集合名稱.find({條件}).count()

  db.集合名稱.count({條件})

  

  db.stu.find({gender:true}).count()

  db.stu.count({age:{$gt:20},gender:true}

⑩消除重復

  方法distinct()對數據進行去重

  db.集合名稱。distinct("去重字段",{條件})

  db.stu.distinct(“hometown,{age:{$gt:18}}”)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM