1.插入
1.不指定id
db.stu.insert({name:'张三',age:18})
2.指定id
db.stu.insert({_id:'1',name:'张小三',age:18})
id可以自己设置,不设置会自动生成唯一值。
2.修改
(1)全文档更新(前面的{}里指定对象,后面的{}里修改内容)
db.stu.update({name:'张三'},{name:'张大',age:23})
(2)局部更新
db.stu.update({name:'张小三'},{$set:{age:28}})
(3)修改所有属性
db.stu.update({},{$set:{age:30}},{multi:true})
3.删除
1.删除符合条件所有数据
db.stu.remove({age:12})
2.删除符合条件的第一条数据,使用justOne:true
db.stu.remove({age:30},{justOne:true})
4.查找
1.查询所有数据
db.stu.find()
2.查询所有指定条件
db.stu.find({age:19})
3.查询一条指定条件
db.stu.findOne({age:19})
4.比较运算符范围查询,大于
g
t
,
大
于
等
于
gt,大于等于
gt,大于等于gte,小于
l
t
,
小
于
等
于
lt,小于等于
lt,小于等于lte,不等于查询$ne
查询年龄大于10的
db.stu.find({age:{$gt:10}})
5.逻辑运算符
(1)and关系,在一个{}里写入就默认and关系
db.stu.find({age:{$gt:10},name:’张三’})
(2)or逻辑
db.stu.find({$or:[{name=’李大大’},{age:{$gt:18}}]})
6.模糊查询
查找李开头的
db.stu.find({name:{$regex:’^李’}})
db.stu.find({name:/^李/})
查找四结尾的
db.stu.find({name:/.*?四$/})
7.查询年龄是15或者17的,使用in
db.stu.find({age:{$in:[15,17]}})
8.使用limit()指定查找数量
db.stu.find({name:/.*?四$/}).limit(2)
9.跳过n条数据,默认值0
db.stu.find({name:/.*?四$/}).skip(2)
10.展示指定的字段(投影),1表示展示,0表示不展示,_id默认展示
11.排序,1表示升序,-1表示降序
12.统计个数
count()
13.去重
db.stu.distinct(‘age’,{name:/^张/})