1 配置基础环境
# 创建网桥
sudo docker network create --driver bridge mason
2 创建MongoDB容器
2.1 创建容器
# 创建MongoDB
# --auth:设置数据库登录权限
sudo docker run -itd --net mason \
--restart always \
--name my_mongodb \
--privileged=true \
-p 27017:27017 \
-v /home/mongodb/configdb:/data/configdb \
-v /home/mongodb/data:/data/db \
-v /home/mongodb/backup:/data/backup \
mongo:4.2.8 --auth
2.2 初始化账号
# (1)进入mongo Shell
# --host 127.0.0.1可以省略
mongo --host 127.0.0.1 --port 27017
# (2)切换数据库
use admin
# (3)创建用户
# 用户名;root, 密码:123456
# 注意:此处的账号和密码会管理所有的数据库
db.createUser({user:'root', pwd:'123456', roles:[
{role:'clusterAdmin', db:'admin'},
{role:'dbAdminAnyDatabase', db:'admin'},
{role:'userAdminAnyDatabase', db:'admin'},
{role:'readWriteAnyDatabase', db:'admin'},
{role:'root', db:'admin'}
]})
# (4)授权
db.auth("root", "123456")
# (5)创建应用数据库和用户
# 连接库直接使用相应库中的用户名称即可,如果仅仅使用appdb库,直接使用user=mason,pwd=123456连接即可
use appdb
db.createUser({user:'mason', pwd:'123456', roles:[ {role:'dbOwner', db:'appdb'} ]})
# (6)创建数据库并插入数据
# 查看所有数据库
show databases
# 查看当前数据库
db
# 切换数据库
use appdb
# 在当前数据库中插入数据
# 向table集合中插入一条数据(如果没有创建数据库,会自动创建)
db.table.insert({title:'My title', name:'zhangsan'})
# 查看当前集合
show collections
3 MongoDB常用命令
# 切换数据库
use user
# 查看数据库
show databases
# 查看集合
show collections
# 向集合book中插入文档
db.book.insert({
title:'Java',
anthor:'mason'
})
# 删除全部文档,也可以使用deleteOne()、deleteMany()删除
db.book.remove({})
# 更改文档
# db.book.update(query, update, options)
db.book.update(
{ _id:ObjectId(“5e9007350718cb6e37ab4515”) },
{ title:'css' },
{ },
)
# 查看文档
db.book.find()