MongoDB角色-用户访问多个数据库

Mou*_*tte 3 authentication mongodb

我想给一个用户访问MongoDB中2个数据库的权限。

我试过了,但是它只允许访问管理数据库。

use admin;
db.runCommand(
{
    createUser: "myuser",
    pwd : "mypwd",
    roles: 
    [
        { role: "readWrite", db: "db1" } ,
        { role: "readWrite", db: "db2" } 
    ]
});
Run Code Online (Sandbox Code Playgroud)

我试图在每个数据库上创建用户,但最终有2个用户: user@db1user@db2

有什么建议么?

Mar*_*erg 5

基本上,用户可以保存在任何数据库中,因此--authenticationDatabase,例如,您可以在命令行工具上提供它。

以cli为例,您的命令行应如下所示

mongo yourhost:yourport/db1 -u myuser --authenticationDatabase admin -p
Run Code Online (Sandbox Code Playgroud)

mongo yourhost:yourport/db2 -u myuser --authenticationDatabase admin -p 
Run Code Online (Sandbox Code Playgroud)

分别在您必须替代yourhostyourport实际值的地方。