基本概念
部署后的mongo实例可以创建多个数据库,每个数据具有独立的权限和磁盘文件。 每个数据库有可以包含多个集合,集合则是一行bjson(json的一种扩展,二进制json) 1. 数据库 2. 集合,是一组文档,集合中的每个数据的键可以是不同格式的。像{"a":1},{"b":1}可以放到一个集合中。 3. 文档, 包含了多个键值的bjson数据行.
使用
1. 创建数据库
use mydb;
- 为数据库增加用户
use mydb;
db.createUser(
{
user:"ax",
pwd:"ax1234",
roles:[{role:"dbOwner", db:"mydb"}],
mechanisms: ["SCRAM-SHA-1"]
}
)
// 测试登录
db.auth({"user":"ax","pwd":"ax1234"})
- 认证机制 mechanisms
- db.auth
- 使用权限控制
-
权限控制 创建用户时角色控制着,改用户可以使用那些api, 参考:mongo build in roles.
基础角色
read,write,readWrite
数据库管理员角色
dbOwner 具备了readWrite,dbAdmin,userAdmin
dbAdmin
userAdmin
SuperUser Role
root
此外还有集群相关角色,备份角色等
- CRDB
use mydb
db.mydb.find()
db.mydb.findOne()
db.mydb.insert()
db.mydb.remove()