我们需要创建一个特殊角色,该角色将仅允许以下操作:
创建数据库需要哪个MongoDB角色? https://docs.mongodb.com/manual/reference/built-in-roles/的文档中都没有写它,而且似乎没有已知的角色可以执行此任务
答案 0 :(得分:1)
我认为readWrite
是您需要的角色。
我尝试了以下操作:
admin
数据库aaa
用户,该用户在admin
db上定义,具有密码和两个角色:readWrite
在(不存在的)数据库xxx
和{{1}上}(不存在)数据库dbAdmin
yyy
用户连接到admin
数据库因此,我尝试在aaa
和test
数据库的xxx
集合中插入文档:
yyy
有回应 在2毫秒内插入1条记录
use xxx
db.test.insert({})
有回应 未在yyy上授权执行命令...
错误消息是指use yyy
db.test.insert({})
无法执行aaa
到insert
的事实:数据库创建是在第一次插入时发生的,因此您需要{{1} }角色,以使第一个test
==>创建数据库。
我希望我采用的检查问题的方法可以帮助您解决问题。