我想将用户访问MongoDB中的2个数据库。
我试过这个,但它只能访问admin db。
use admin;
db.runCommand(
{
createUser: "myuser",
pwd : "mypwd",
roles:
[
{ role: "readWrite", db: "db1" } ,
{ role: "readWrite", db: "db2" }
]
});
我尝试在每个数据库上创建用户,但我最终得到了2个用户:
user@db1
和user@db2
有什么建议吗?
答案 0 :(得分:4)
用户基本上可以保存在任何数据库中,这就是为什么你可以在命令行工具上提供 --authenticationDatabase
的原因。
以cli为例,您的命令行应该看起来像这样
require 'singleton'
class Tst_case1
include Singleton
def sayHello
puts "hello"
end
end
case1 = Tst_case1.instance
case1. #there should be a popover listing the available methods, but no.
和
mongo yourhost:yourport/db1 -u myuser --authenticationDatabase admin -p
分别是您必须用 mongo yourhost:yourport/db2 -u myuser --authenticationDatabase admin -p
和 yourhost
替换实际值。