天天看點

MongoDB中文檔操作(二)

一、插入文檔

 1、db.集合名.insert()

  插入一個:db.user.insert({name:"Join",age:13,address:"beijing",isDelete:0})

  插入多個:db.user.insert([{name:"Join",age:13,address:"beijing",isDelete:0},{name:"Join2",age:13,address:"beijing",isDelete:0},{name:"Join3",age:13,address:"beijing",isDelete:0}])

 2、db.集合名.save()

  指定_id則為修改更新:db.user.save({_id:ObjectId("234567892345678"),name:"Join",age:13,address:"beijing",isDelete:0})

  不指定_id則和insert是一樣的,為新增:db.user.save({name:"Join4",age:13,address:"beijing",isDelete:0})

二、文檔更新

 1、更新已經存在的文檔:db.集合名.update()

  db.集合名.update(<query>,<update>,{upset:<boolean>,multi:<boolean>,writeConcern:<document>})

  query:查詢條件

  update操作符:$set----立即更新;$inc----在原有的基礎上累積增加後更新

  multi:可選項,預設為false,如果為true則隻更新第一條

  writeConcert:可選項,抛出異常的級别

  eg:db.user.update({name:"Join"},{$set:{age:21}})

 2、通過傳入文檔替換已有的文檔,db.集合名.save()

  db.集合名.save(文檔資料,{writeConcern:<document>})

三、文檔删除

  db.集合名.remove()

  db.集合名.remove(<query>,{justOne:<boolean>,writeConcern:<document>})

四、文檔查詢

  1、查詢集合中所有的文檔:db.集合名.find()

  2、查詢符合要求的文檔:db.集合名.find(<query>,{<key>:1,<key>:2...}),query為判斷查詢的要求,key為查詢出顯示的哪些内容1為顯示

    eg:db.user.find({age:21},{age:1,name:1})

  3、以格式化的方式顯示:pretty()

    eg:db.user.find().pretty()

  4、查詢後顯示符合結果的第一條内容:findOne()

  5、查詢條件 操作符

  

  

内容 符合 表達式
大于 $gt db.集合名.({<key>:{$gt:<value>}})
大于等于 $gte db.集合名.({<key>:{$gte:<value>}})
小于 $lt db.集合名.({<key>:{$lt:<value>}})
小于等于 $lte db.集合名.({<key>:{$lte:<value>}})
等于 : db.集合名.({<key>:<value>})
不等于 $ne db.集合名.({<key>:{$ne:<value>}})
使用_id查詢 _id db.集合名.({"_id":ObjectId("id值")})
符合結果的數量 count db.集合名.({<key>:<value>}).count()
查詢結果中某個字段是否包含某個值 /包含的值/ db.集合名.({name:/io/})
查詢結果中某個字段是否以某值開頭 /^包含的值/ db.集合名.({name:/^J/})

  6、條件查詢 and 、or

    and:db.集合名.find({<key>:<value>,<key2>:<value2>,<key3>:<value3>})

    or  :db.集合名.find({$or:[{<key>:<value>},{<key2>:<value2>}]})

  7、limit、skip  

    limit():讀取指定數量的資料内容

      eg:db.集合名.find().limit(5)   讀取前5條資料

    skip():跳過指定數量的資料内容

      eg:db.集合名.find().skip(5)   跳過前5條資料

  8、排序sort

    db.集合名.find().sort({key:1})

    1為升序排列,-1為降序排列