MongoDB---增删改查命令

插入

db.stu.insert([
{"_id":"1","title":"xx","content":"yy","readNum":21,"name":"cc","userid":"1001","nick":"kk"},
{"_id":"2","title":"xc","content":"st","readNum":28,"name":"tt","userid":"1002","nick":"ll"},
{"_id":"3","title":"xb","content":"uv","readNum":27,"name":"ee","userid":"1003","nick":"ii"},
{"_id":"4","title":"xa","content":"pg","readNum":29,"name":"ff","userid":"1002","nick":"ll"},
{"_id":"5","title":"xf","content":"lv","readNum":28,"name":"sg","userid":"1005","nick":"oo"}])

查询

1、全表查询

db.stu.find()
或者
db.stu.find().pretty()

2、单条件查询

查询 name 为 ee的数据

db.stu.find({"name":"ee"})

3、多条件查询

查询userid 为 1002 并且 title 为 xc

db.stu.find({"userid":"1002","title":"xc"})

4、显示指定列

(1).只查询userid 和 title

db.stu.find({},{"userid":1,"title":1})

(2).含条件的

db.stu.find({"userid":"1002","title":"xc"},{readNum:1,content:1})

5、查询数据量

db.stu.count()

条件查询

db.stu.find({"userid":"1002"}).count()

6、分页查询

(1).查看前3条记录

db.stu.find().limit(3)

(2).查看第二页记录

db.stu.find().limit(2).skip(2)

(3).查看第三页记录

db.stu.find().limit(2).skip(4)

7、模糊查询

(1).查询title包含 x

db.stu.find({title:/x/})

(2).查询title以x开头的

db.stu.find({title:/^x/})

8、比较符

符号含义
$gt>
$gte>=
$lt<
$lte<=
$ne!=

(1).查询readNum>25

db.stu.find({readNum:{$gt:25}})

(2).查询25<readNum<28

db.stu.find({readNum:{$gt:25,$lt:28}})

9、in、and、or

$and

25<readNum<28

db.stu.find({$and:[{readNum:{$gt:25}},{readNum:{$lt:29}}]})

$or
userid 是 1001或者1002的数据

db.stu.find({$or:[{userid:"1002"},{userid:"1001"}]})

name是ee 或者 readNum > 25

db.stu.find({$or:{[name:"ee"],[{readNum:{$gt:25}}]}})

$in
userid 是 1001或者1002的数据

db.stu.find({userid:{$in:["1001","1002"]}})

修改

第一条满足的更改

将title是xb的name 改为 dt
db.stu.update({title:"xb"},{$set:{name:"dt"}})

所有满足的条件的更改

db.stu.update({title:"xb"},{$set:{name:"ee"}},{multi:true})
或者
db.stu.updateMany({title:"xb"},{$set:{name:"ee"}})

删除

db.stu.remove({"title":"xa"})

排序

升序

db.stu.find().sort({"readNum":1})

降序

db.stu.find().sort({"readNum":-1})

查询readNum最高的name

db.stu.find({},{"name":1}).sort({"readNum":-1})

多列排序

查询userid 升序,readNum降序

db.stu.find().sort({userid:1,readNum:-1})

索引

查看索引

db.stu.getIndexes()

创建索引

db.stu.createIndex({userid:1})
db.stu.createIndex({userid:1,readNum:-1})

删除索引

删除指定索引

db.stu.dropIndex("userid_1")

删除所有索引

db.stu.dropIndexes()

查看计划

db.stu.find({"name":"xb"}).explain()

没加索引
“stage” : “COLLSCAN”
加了索引
“stage” : “IXSCAN”,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值