MongoDB基本操作
1.robo 3T下载
下载地址robo 3T下载
robo 3T是练习mongodb命令的第三方工具,当然也可以直接再linux服务器练习
下载安装直接略(过于简单)
使用界面
2.shell 简介
在此之前需要解决一个可能存在的操作环境问题
敲命令是Backspace键不能回退,而是复制前面的内容
需要修改配置
点击选项---->会话设置---->仿真设置---->终端----->修改成linux
暂时我们所有的操作都先放在 test 数据库中进行(默认情况下,test 数据库为空,这里不显示空的数据库,此时执行可以选中 CentOS 菜单,右键单击点击 Open Shell,默认打开 test 数据库),选中 test ,右键单击,选择 Open Shell,如下:
需要注意的是:
- use 命令,表示切换到某一个数据库中去,如果我们想切换到一个并不存在的数据库中去,系统就会自动的帮我们创建这个数据库。但是一个空的数据库系统并不会显示出来,往这个数据库中插入一条记录,我们就可以看到数据库存在了
- 直接在命令行通过 mongo 命令来启动 shell,,shell 会连接到 MongoDB 服务器的 test 数据库,并将数据库连接赋值给全局变量 db,我们将通过 db 这个变量实现很多功能,我们也可以查看 db 当前指向哪个数据库,直接使用 db 命令
- 在 MongoDB 中,我们插入的每一条记录都是一个 json 字符串,这个 json 字符串我们称作文档,多个文档可以组成一个集合,这个文档就类似于我们关系型数据库中的一行数据,而集合就类似于关系型数据库中的一张表,集合也不用专门去创建,直接输入向哪个集合中插入数据即可,此时集合就会被自动的创建出来了
3.基本操作(CRUD)
增
在添加之前我们先来说说数据库的创建,上文我们提到了 use 命令,表示切换到某一个数据库中去,如果我们想切换到一个并不存在的数据库中去,系统就会自动的帮我们创建这个数据库。但是一个空的数据库系统并不会显示出来,往这个数据库中插入一条记录,我们就可以看到数据库存在了,如下:
在 MongoDB 中,我们插入的每一条记录都是一个 json 字符串,这个 json 字符串我们称作文档,多个文档可以组成一个集合,这个文档就类似于我们关系型数据库中的一行数据,而集合就类似于关系型数据库中的一张表,集合也不用专门去创建,直接输入向哪个集合中插入数据即可,此时集合就会被自动的创建出来了。
当然我们也可以批量的添加文档,如下(批量添加一样也可以使用insert方法来完成):
db.wang_collect.insertMany([{x:1},{x:2},{x:3}])
如果在插入某一个文档时出错,则其后面的文档就会插入失败,而在其之前已经插入的文档则不受影响,如下:
查
数据添加成功之后我们再来看看查询,利用 db.wang.find()
方法我们可以查看所有文档(所有记录),如果只查看一个文档(一条记录),可以通过 db.wang.findOne()
命令,在查看之前我先用一个 for 循环多插入几条数据,如下:
for(var i = 2;i<100;i++)db.wang_collect.insert({x:i})
查找一个
db.集合名.findOne()
查找全部
db.wang_collect.find()
改
update 操作可以用来更新数据,它接收两个参数,第一个参数表示更新条件,第二个参数表示要更新的数据,比如我将所有 x:1 的数据改为 x:999,如下:
db.wang_collect.update({x:1},{x:999})
然后我们可以用db查看修改后的结果
删
remove 操作可以用来删除数据,如下:
db.wang_collect.remove({x:999})