如何在 NAS 上轻松部署 MongoDB 数据库?看这里就够了!
Hello 大家好,我是 David
订阅我的频道 ,分享更多 NAS 教程和资讯 ~
MongoDB:
一款基于文档存储的开源分布式数据库系统,属于 NoSQL(非关系型数据库) 范畴。它以灵活的 JSON 格式(BSON,Binary JSON)存储数据,突破了传统关系型数据库(如 MySQL)中表结构固定的限制,非常适合处理 非结构化或半结构化数据(如日志、用户行为数据、社交网络内容等)。

安装
Docker Compose
services:
mongo:
image: mongo:latest
container_name: mongo
ports:
- 27017:27017
volumes:
- /vol1/1000/docker/mongo:/data/db
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=password
restart: always
参数说明(更多参数设置建议去看文档)
MONGO_INITDB_ROOT_USERNAME(环境变量,可选):设置超级管理员用户名
MONGO_INITDB_ROOT_PASSWORD(环境变量,可选):设置超级管理员密码
MongoDB 5.0+ 版本需要 AVX 指令集支持,不支持的可以改低版本

使用
查看创建的容器,进入终端

TIP:
不同版本 MongoDB ,命令可能不一样,这里也会在括号里给出旧版本的命令
打开 mongo 编辑器,代码输入 mongosh(mongo)

TIP:
如果设置了管理员直接执行其他命令可能会报权限问题,先需要切换到 admin 数据库,再认证用户权限
use admin
db.auth('root','password')
创建数据库(有的话会自动切换),代码输入:use 数据库名称

查看所有数据库(数据库为空是不显示的),代码输入:show dbs

插入数据,代码输入:db.user.insert()

再次查看数据库列表,就可以看到了创建的数据库了

创建一个用户账号,需要先到 admin 数据库再进行创建,最后使该用户进行连接测试
use admin
db.createUser({
user: 'david',
pwd: '123456',
roles: [
{ role: 'readWrite', db: 'mytest' },
]
});
db.auth('david', '123456')
退出,代码输入:exit

总结
本篇教程只是简要介绍 MongoDB 数据库的基础使用方法。实际应用场景中,MongoDB 是需要配合其他应用一起使用的,而且也只需要部署前设置好管理员账户即可。
综合推荐:⭐⭐⭐(需要才会用到)
使用体验:⭐⭐⭐(需要联动使用)
部署难易:⭐⭐(简单)︎
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
