章
目
录
后端开发中,我们经常会用到数据库,MongoDB就是一款非常受欢迎的数据库。今天就来教大家如何通过Docker安装MongoDB,并且连接到Mongo Shell进行操作。
一、使用Docker安装MongoDB
Docker是一个很棒的工具,用它来安装MongoDB既方便又快捷。在开始之前,先打开终端,然后输入下面这条命令来启动MongoDB容器:
docker run -d \
--name mongodb \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin123 \
mongo:latest
下面给大家解释一下这条命令各个部分的含义:
--name mongodb
:这里的mongodb
是我们给这个容器取的名字,方便后续识别和操作。-p 27017:27017
:它的作用是把主机的27017端口和容器的27017端口进行映射。这样,我们在主机上访问27017端口,就相当于访问容器内的27017端口,就能和MongoDB进行交互啦。-e MONGO_INITDB_ROOT_USERNAME=admin
和-e MONGO_INITDB_ROOT_PASSWORD=admin123
:这两句分别设置了管理员的用户名和密码。用户名是admin
,密码是admin123
,在后续连接MongoDB时会用到。mongo:latest
:表示使用最新版本的MongoDB镜像来创建容器。
二、连接到MongoDB Shell
安装好MongoDB容器后,接下来就要连接到Mongo Shell,这样才能对数据库进行各种操作。连接的方法有两种,下面分别给大家介绍。
方法1:利用容器内部的mongo客户端连接
如果想使用容器内部的mongo
客户端来连接,可以在终端输入这条命令:
docker exec -it mongodb mongosh -u admin -p admin123 --authenticationDatabase admin
这里的docker exec
命令是在运行的容器中执行命令,-it
参数表示以交互模式运行容器,让我们能在终端和容器进行交互。mongodb
是前面创建容器时取的名字。mongosh
是MongoDB的交互式Shell工具,如果使用的是老版本的MongoDB,可能这里要用mongo
命令,大家可以根据实际情况调整。-u admin
指定用户名是admin
,-p admin123
表示密码是admin123
,--authenticationDatabase admin
指定认证数据库为admin
。
方法2:在本地安装了mongosh的情况下连接
要是你的本地已经安装了mongosh
,连接就更方便了。在终端输入下面这条命令就行:
mongosh "mongodb://admin:admin123@localhost:27017/admin"
这条命令里,mongodb://
是连接字符串的协议部分,admin:admin123
是用户名和密码,localhost:27017
表示连接本地的27017端口,最后的admin
是要连接的数据库名。
三、验证连接是否成功
成功连接到MongoDB Shell后,我们可以输入一些命令来验证连接是否正常。比如下面这些命令:
show dbs
use test
db.testCollection.insertOne({ name: "hello" })
db.testCollection.find()
show dbs
命令用于查看当前有哪些数据库;use test
表示切换到test
数据库;db.testCollection.insertOne({ name: "hello" })
是在test
数据库的testCollection
集合中插入一条数据,这条数据的name
字段值是hello
;db.testCollection.find()
则是查询testCollection
集合中的所有数据。通过这些操作,就能知道我们是不是真的成功连接到MongoDB,并且可以正常操作数据库了。
按照上面的步骤,大家就能顺利地在Docker中安装MongoDB并连接到Mongo Shell啦。要是在操作过程中遇到问题,欢迎留言交流哦!