MongoDB
MongoDB 是一个 开源分布式文件存储数据库系统,它被用于 NoSQL 数据库 等场景。基于 Docker 架构,内置可以通过本地浏览器访 问的可视化管理工具 MongoDB Compass,满足企业微服务架构的设计思想。
准备
在参阅本文档使用 MongoDB 时,需要确保如下几点:
-
登录 Websoft9 控制台,然后找到(或安装)MongoDB:
- 我的应用 菜单找到应用
- 应用商店 菜单部署应用
-
应用是基于 Websoft9 安装的
-
应用的用途符合 SSPL-v1 开源许可协议
-
为应用准备配置访问方式:配置域名 或 服务器安全组开启网外端口
入门指南
初始化
Websoft9 控制台安装 MongoDB 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。
命令行连接
-
进入 MongoDB 容器中,运行 MongoDB Shell 命令
$ mongosh admin -u root -p YOURPASSWORD
MongoDB shell version v5.0.10
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
... -
分别列出默认数据库和用户
# 列出所有数据库
show dbs
# 切换到 admin 数据库,列出所有用户
use admin
show users
图形化 Web 端
Websoft9 提供了一个基于 Web 访问的 MongoDB Compass 应用。
命令速查
下面列出最常用的 MongoDB 命令供用户参考:
显示、创建和切换数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
# 创建test数据库(如果不存在test数据库,就会自动创建它)
> use test
switched to db test
# 显示当前数据库
> db
test
# 显示当前所有用户数据
> show users
#3 插入数据到数据库
> db.test.insert({"name":"company"})
WriteResult({ "nInserted" : 1 })
删除数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
websoft9 0.000GB
> use test
switched to db test
> use test
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
websoft9 0.000GB
创建管理员账号
> mongo
> use admin
switched to db admin
> db.createUser( { user: "webs_admin", pwd: "websoft9", roles: ["userAdminAnyDatabase"] } )
Successfully added user: { "user" : "webs_admin", "roles" : [ "userAdminAnyDatabase" ] }
# 显示账号
> show users
{
"_id" : "admin.webs_admin",
"user" : "webs_admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
修改管理员密码
> db = db.getSiblingDB('admin')
admin
> db.changeUserPassword("root", "NEWPASSWORD")
> exit
配置选项
-
配置文件(已挂载):/etc/mongod.conf
-
开启公网访问:修改配置文件中的字段
bindIp: 0.0.0.0
-
服务端命令:
mongod
-
客户端命令:
mongo
-
命令:mongod 是 MongoDB 的服务端管理命令,mongo 是用于访问 MongoDB 服务的客户端
-
无身份验证访问(√):参考 访问控制 设置
-
默认数据库 admin:全局管理权限的数据库用户必须存储在这个 admin 数据库中