MongoDB是一个NoSQL的非关系型数据库 ,支持海量数据存储,高性能的读写。
1.支持存储海量数据;(例如:直播中的打赏数据); 2.支持频繁的数据读写;(例如:游戏道具); 3.数据安全性不高,存在数据误差(丢失数据); 4.mongoDB不支持多表操作,不支持事务; 5.mongoDB使用Bson存储格式,支持动态字段管理
与redis对比
1.1 拉取mongo镜像
docker pull mongo:4.4
1.2 创建mongo数据持久化目录
mkdir -p /docker_volume/mongodb/data
1.3 运行容器
docker run -itd --name mongo -v /docker_volume/mongodb/data:/data/db -p 27017:27017 mongo:4.4 --auth
2.1 登录mongo容器,并进入到【admin】数据库
docker exec -it mongo mongo admin
2.2 创建一个用户,mongo 默认没有用户
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
3.1 连接mongo数据库
db.auth('root', '123456')
3.2 测试数据库,插入一条语句
db.user.insert({"name":"zhangsan","age":18})
3.3 测试数据库,查询刚才插入的语句
db.user.find()
3.4 navicat连接测试