常用命令 增删查改
插入
- 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}