TODO:MongoDB的查詢更新刪除總結

TODO:MongoDB的查詢更新刪除總結

  1. 常用查詢,條件操作符查詢,< 、<=、>、>=、!= 對應 MongoDB的查詢操作符是$lt、$lte、$gt、$gte、$ne

    例:

    db.getCollection(‘image_detail’).find({“dig” : {$gte:0}})//查詢大於等於0的數據

  2. $all,$in的區別{“dig” : {$all : [0,1]}查詢出來的結果dig必須有0和1

    {“dig” : {$in : [0,1]}查詢出來的結果dig可以有0和1,或0,或1

  3. 有in就有not in,但是沒有not allnot in的操作符是$nin,{“dig” : {$nin : [0,1]},查詢出來的dig值不包含0,1
  4. $nin還有個替換的方式$in 取反 {$not : {$in : [0,1]}},巧妙的使用$not,可以解決很多使用場景db.getCollection(‘image_detail’).find({“dig” :{$not : {$in:[0,1]}}}

    db.getCollection(‘image_detail’).find({“dig” :{$not : {$all:[0,1]}}})

  5. 數組的or查詢操作符$ordb.getCollection(‘image_detail’).find({$or:[{“dig” :{$not : {$in:[0,1]}}},{“group” : false}]})
  6. $exists判斷字段釋放存在,{group:{$exists:true}}表示存在group字段,false這是不存在db.getCollection(‘image_detail’).find({group:{$exists:true}})
  7. 巧妙的使用null,{group:null}可以查詢出group爲null的記錄,以及沒有group字段的記錄,如果要查詢出字段group爲null的值,就需要配合{$exists:true}的使用db.collection.find({group:{“$in”:[null],”$exists”:true}})
  8. 查詢記錄條數使用count()db.getCollection(‘image_detail’).find({group:null}).count()
  9. 用sort函數排序,sort({dig:1})按升序排序,sort({dig:-1})按降序排序db.getCollection(‘image_detail’).find().sort({dig:1})

    db.getCollection(‘image_detail’).find().sort({dig:-1})

  10. skip和limit語句,跳過幾條記錄然後查詢指定數目的記錄db.getCollection(‘image_detail’).find().sort({dig:-1}).skip(10).limit(10)
  11. 數據更新update的使用,update常用到4個參數,第一個參數是查詢條件,

    第二個參數是更新語句,

    第三個參數upsert 可選參數意思是,如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入;

    第四個參數multi_bool可選,默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。

    db.getCollection(‘image_detail’).update({}, {“$set”: {“dig”:3}},false,true)

  12. 數組更新push,刪除pulldb.getCollection(‘image_detail’).update({“group” : false},{“$pull”: {“tags”:”圖片”}},false,true)

    db.getCollection(‘image_detail’).update({},{“$push”: {“tags”:”圖片”},”$inc”:{“dig”:1}},false,true)

  13. 數組切片查詢$slice,{“tags” : {$slice:10}}查詢數據前10條記錄,

    {“tags” : {$slice:-10}}查詢數據後10跳記錄,

    {“tags” : {$slice:[2,5}}查詢第2條數據後5條跳記錄

    這個例子查詢顯示的字段爲tags,image,dig

    db.getCollection(‘image_detail’).find({},{“tags”: {“$slice”:[2,3]},”_id”:0,”image”:1,”dig”:1})

  14. 遞增的參數$inc,遞減呢?{“$inc” : {“dig”:1}} 是dig字段增1,

    {“$inc” : {“dig”:-1}} 是dig字段減1

  15. 刪除removedb.getCollection(‘image_detail’).find({“dig”:1})
  16. 常用helpdb.help()

    db.find.help()

    db.update.help()


    wxgzh:ludong86qrcode_for_gh_6bb1f39ae99c_258

發佈了59 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章