MongoDB---增删改查命令

Posted Shall潇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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”,

以上是关于MongoDB---增删改查命令的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB——MongoDB安装+增删改查操作

MongoDB——MongoDB安装+增删改查操作

mongodb增删改查

Mongodb之增删改查

MongoDB的增删改查

MongoDB的增删改查