TODO:MongoDB的查询更新删除总结

TODO:MongoDB的查询更新删除总结数组

  1. 经常使用查询,条件操做符查询,< 、<=、>、>=、!= 对应 MongoDB的查询操做符是$lt、$lte、$gt、$gte、$ne

    例:函数

    db.getCollection(‘image_detail’).find({“dig” : {$gte:0}})//查询大于等于0的数据code

  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})ip

  10. skip和limit语句,跳过几条记录而后查询指定数目的记录db.getCollection(‘image_detail’).find().sort({dig:-1}).skip(10).limit(10)
  11. 数据更新update的使用,update经常使用到4个参数,第一个参数是查询条件,

    第二个参数是更新语句,rem

    第三个参数upsert 可选参数意思是,若是不存在update的记录,是否插入objNew,true为插入,默认是false,不插入;get

    第四个参数multi_bool可选,默认是false,只更新找到的第一条记录,若是这个参数为true,就把按条件查出来多条记录所有更新。it

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

  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