Skip to main content

常用命令 增删查改

插入

  • db.tabel.insert({name:"user1"})
  • db.tabel.save({name:"user1"})

删除

  • db.c1.remove() // 全删除
  • db.c1.remove({name:"user1"}) // 加条件

查询

  • db.c1.find() // 查找所有

  • db.c1.find({name:"user1"}) // 有条件的

  • db.c1.find({name:"user1"},{name:1,_id:0}) // 第二个参数,表示显示的列,1为显示,0为不显示

  • db.c1.find({age:{$gt:5}}) // 范围查询

  • db.c1.find().count() // 查找所有条数

  • db.c1.find().sort({name:1}) // 排序 -1 倒叙 1是正序

  • db.c1.find().limit(5) // 取几个

  • db.c1.find().skip(5) // 跳过几个

  • db.c1.find().sort({age:-1}).skip(5).limit(5) // 排序后再分页

  • db.c1.find({post:{$all:1,2,3}})

  • $all 操作类似$in 操作,要求数组里面的值全部被包含在返回的记录里面.

  • $exists 检测一个字段是否存在

  • db.c1.find({post:{$exists:1}})

  • db.c1.find({age:{$mod:[2,1]}}) // 取余

  • $ne 不等于

  • db.c1.find({age:{$in:[2,1]}}) // in

    • db.c1.find({age:{$nin:[2,1]}}) // not in
  • db.c1.find({$or:[{name:"user1"},{name:"user2"}]}) // 或者

  • db.c1.find({$nor:[{name:"user1"},{name:"user2"}]}) // 排除

  • db.c1.find({post:{$size:2}}) // 字段的数组个数

  • db.c1.find({name:/user1/i}) // 正则表达式

  • db.c1.distinct("name") // 唯一值

  • db.c1.find({post:{$elemMatch:{tit:"cc"}}}) // 查找post集合里面tit为cc的

  • db.c1.find({test:{$type:10}}) // 查找test字段为null的数据 不存在test字段的不显示

  • db.c1.find({post:{$slice:2}}) // 取字段的数组前2个

  • db.c1.find({post:{$slice:-2}}) // 取字段的数组后2个

修改

update

语法:

db.collection.update(criteria,objNew,upsert,multi)

参数说明:

  • criteria: 用于设置查询条件的对象

  • Objnew: 用于设置更新内容的对象

  • upsert: 如果记录已存在,更新它,否则新增一个记录

  • multi: 如果有多个符合条件的记录,全部更新

    注意:默认情况下,只会更新第一个符合条件的记录

  • $set 把field的值设置成value,当field不存在时,增加一个字段. 语法 {$set:{field:value}}

  • $inc 递增几 语法 {$inc:{field:value}}

  • $unset 把field删除 语法 {$unset:{field:1}}

  • $push 如果filed是个数组或不存在,把value追加给field,如果field不是数组会报错 语法 {$push:{field:value}}

  • $pushAll 功能同 $push,这里的value是数组,相当于对数组的每一个值进行$push 语法 {$pushAll:{field:value_array}}

  • $addToset filed是个数组,新加入的value 如果存在,会去重. 语法 {$addToset:{field:value}}

  • {$addToset:{field:{$each:value_array}}} 加多个值去重.

  • $pop 从filed中删除数组中最后的值, 语法 {$pop:{field:num}} -1是第一个元素

  • $pull 如果filed是一个数组,删除符合_value 检索条件的记录 语法 {$pull:{field:_value}}

  • $pullAll 删除数组多个值 语法 {$pullAll:{field:_value}}

  • $rename 改field名字 语法 {$rename :{old_field_name : new_field_name}}

  • $bit 位运行

  • $ 代表第一个 语法 {$set:{field.$.new_field:value}