Docker安装mongoDB及使用教程
一、mongoDB是什么?
MongoDB是一个NoSQL的非关系型数据库 ,支持海量数据存储,高性能的读写。
mongoDB的特点(或使用场景)
1.支持存储海量数据;(例如:直播中的打赏数据);
2.支持频繁的数据读写;(例如:游戏道具);
3.数据安全性不高,存在数据误差(丢失数据);
4.mongoDB不支持多表操作,不支持事务;
5.mongoDB使用Bson存储格式,支持动态字段管理
mongoDB与mysql、redis对比
与redis对比
- redis纯内存数据库,内存不足时触发淘汰策略,mongoDB使用内存加磁盘的存储策略具有高扩展性;
- mongoDB使用Bson存储格式,支持动态字段管理方便扩展;
与mysql对比 - mongoDB不支持多表操作,不支持事务;
- mongoDB使用Bson存储格式,支持动态字段管理;
查询效率对比
Redis > MongoDB > MySQL
二、使用docker安装mongo
1.安装
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
{message type=“info” content=“-v: 将宿主机的/docker_volume/mongodb/data映射到容器的/data/db目录,将数据持久化到宿主机,以防止删除容器后,容器内的数据丢失
–auth:需要密码才能访问容器服务”/}
2.创建用户
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']});
{message type=“info” content=“【user:‘root’ 】:设置用户名为root
【pwd:‘123456’】:设置密码为123456
【role:‘userAdminAnyDatabase’】:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
【db: ‘admin’】:可操作的数据库
【‘readWriteAnyDatabase’】:赋予用户读写权限”/}
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
3. 连接、测试
3.1 连接mongo数据库
db.auth('root', '123456')
3.2 测试数据库,插入一条语句
db.user.insert({"name":"zhangsan","age":18})
3.3 测试数据库,查询刚才插入的语句
db.user.find()
3.4 navicat连接测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探