我在使用本地mongodb安装设置mongo-express时遇到了一些麻烦。基本上,我创建了一个像这样的管理员用户:
db.createUser(
{
user: "admin",
pwd: "abc123",
roles:["root"]
})
在mongo-express的config.js中,我指定了此帐户进行身份验证。运行mongo-express -u "admin" -p "abc123" -d "admin"
有效,打开webview会显示admin数据库。
但那是它在那里显示的唯一数据库,但我在mongodb中有更多的数据库:
> show dbs
admin 0.000GB
local 0.000GB
test 0.112GB
我希望test
数据库也显示在那里,但我不明白是什么阻止了mongo-express显示它。我知道身份验证发生在数据库级别,但由于管理员是以root
为角色创建的,因此mongo-express应该能够显示所有数据库,对吗?
答案 0 :(得分:2)
好的,我发现了问题:
显然,当管理员凭据存储在config.js中时,必须使用'-a'标志运行'mongo-express',并且希望将mongo-express访问mongodb作为管理员。