使用mongo罗盘中的mongosh,我为我的数据库创建了一个用户:
use test_db
db.createUser({user:'some_user', pwd: 'some_pass', roles:[]})现在,当我尝试给它分配根角色时,我得到了无法找到角色: root@test_db
db.grantRolesToUser( "some_user",
[
{ role: "root", db: "test_db" }
])根角色不是内置的角色吗?为什么我不能分配呢?目前,例如,当我试图运行一个聚合时,我得到了MongoServerError: not来执行命令{:.。这就是为什么我想分配根角色来处理这个问题。
发布于 2021-10-30 21:21:08
角色root定义在admin数据库中。在数据库test_db中,此角色不存在-除非您手动创建它。
注:
除了在admin数据库中创建的角色之外,角色只能包含应用于其数据库的特权,并且只能继承其数据库中的其他角色。
在admin数据库中创建的角色可以包含应用于admin数据库、其他数据库或群集资源的特权,并且可以继承其他数据库中的角色以及admin数据库中的角色。
实际上,除了admin之外,我不知道有什么理由在其他数据库中创建用户。
https://stackoverflow.com/questions/69780592
复制相似问题