mongodb操作基本语法(增删改查)
2017-07-24 本文已影响43人
YukiYang
1、启动mongodb
mongod -f /usr/local/etc/mongod.conf //启动服务
mongo //输入命令进入mongo操作终端,需要新开窗口
![](https://img.haomeiwen.com/i1009552/579e9a7ebdd523ab.png)
![](https://img.haomeiwen.com/i1009552/7b148652ebdeac3c.png)
2、mongodb基础语法
(1)查看当前所有的数据库
show dbs //查看当前所有的数据库
![](https://img.haomeiwen.com/i1009552/8e9a8dc726fb2f20.png)
(2)新建数据库
use demo //创建demo的数据库
/*这个时候show dbs 是看不到demo的,因为数据库里没有任何东西。*/
![](https://img.haomeiwen.com/i1009552/661486c0e0588dbe.png)
(3)新建集合,也就是平时所说的表
db.createCollection("user") //创建 user 集合,相当于表 db 代表就是当前的数据库
![](https://img.haomeiwen.com/i1009552/c4956934310dde1a.png)
(4)新建集合同时插入数据,可以替换3步骤
db.users.insert({id:123,name:"hello"}) //这种方式创建集合的同时并插入一条数据,完全可以跳过上面创建集合的步骤
![](https://img.haomeiwen.com/i1009552/7d369940c6f447bd.png)
(5)查看当前所有集合,也就是表
show collections //查看当前数据库的集合
![](https://img.haomeiwen.com/i1009552/44e52dfd3b04afe0.png)
(6)删除数据库demo2
db.dropDatabase() //删除当前数据库
![](https://img.haomeiwen.com/i1009552/6b5c53fa192f85fe.png)
(7)验证是否删除
show dbs
![](https://img.haomeiwen.com/i1009552/2370235c19eda935.png)
(8)删除集合
db.user.drop() //删除集合 ,重新建集合才能删哦。。
![](https://img.haomeiwen.com/i1009552/ba0d44e7bea911b9.png)
(9)查找集合所有信息
db.user.insert({userId:101,name:"yuki",class:{num:21,name:"1班"}})
//创建一个集合,并插入一条数据,数据里是带有对象的。自己多建几条哦
db.user.find() //查看当前集合的所有数据
db.user.findOne() //查看第一条数据
![](https://img.haomeiwen.com/i1009552/e7dfd468bef86acc.png)
(10)美化方式查找集合所有信息
db.user.find().pretty() //格式化查看,其实就是美化,可能不支持部分windows
![](https://img.haomeiwen.com/i1009552/23e4d82d30ddd30f.png)
(11)更新数据
db.user.update({"name":'jack'},{$set:{"class.num":"228"}})
//修改name为jack的班级人数 根据name去设置num
![](https://img.haomeiwen.com/i1009552/adad76c4d4610308.png)
验证数据是否更新
db.user.find({name:"jack"}) //根据name为jack,查看当前记录
![](https://img.haomeiwen.com/i1009552/fcb472503b10588e.png)
(12)查找大于0的数据
//有点类似于html的代码
$gt //大于
$lt //小于
$gte //大于等于
$lte //小于等于
db.user.find({"class.num":{$gt:0}}) //查找大于0的数据
![](https://img.haomeiwen.com/i1009552/fda37336f64b5a46.png)
这个结果如上图,可是结果显然有点不对啊!
看到之前的截图可以发现,我们一共有3条数据,怎么查到大于0的只有2条呢?
这是因为,我们在第11步更改数据的时候,把班级人数改成了"228",这是字符串,我们查的大于0,0是数字。所以大家注意操作数据的时候不要犯这样的错误~
(13)查找大于字符串200的数据
db.user.find({"class.num":{$gt:"200"}}) //查找大于字符串200的数据
如下图,查找大于字符串200的数据,就有啦!
![](https://img.haomeiwen.com/i1009552/ae2a00231d0a863c.png)
(14)查找小于100的数据
db.user.find({"class.num":{$lt:100}}) //查找小于100的
![](https://img.haomeiwen.com/i1009552/671e7b8ff1f3d194.png)
(15)删除数据
db.user.remove({userId:101}) // 根据userId为101删除这条数据
![](https://img.haomeiwen.com/i1009552/ceff64b79e8041f5.png)
3、总结
刚刚学习,写错的地方希望各位不吝赐教。一起学习,一起进步~