我在Google平台App上部署了一个普通的堆栈实例。我能够打开ssh隧道,并在一个and浏览器上查看rockmongo:http://127.0.0.1:8888/rockmongo/index.php?action=admin.index&host=0
我可以从App用root和默认密码登录。当我去添加一个新的数据库时,它说它是成功的,但是没有在列表中显示新的数据库。我创建了一个新用户,它显示了这个用户。当我通过命令登录到mongo时,我可以切换到我的新数据库,但是当我试图查找集合中的所有项时,我会得到一个错误,即用户无权执行该操作。
Db.getCollection(‘用户’).find( {} )错误:错误:{ "ok“:0,"errmsg”:“未授权在新数据库上执行命令{ find:\”.find\“,filter:{} }",”代码“:13 }
我向用户添加了readWrite角色,然后再试一次,没有结果。当我执行db.getUser(“用户名”)时,它返回"null“。
我错过了什么..。
发布于 2016-12-05 20:00:56
我想明白了,我不得不:
以root bitnami用户身份登录
use admin
db.createUser( { user: "newusername",
pwd: "newpassword",
roles: [ "userAdminAnyDatabase","readWriteAnyDatabase" ]})然后
use newdatabase
db.createUser(
{
user: "newuser",
pwd: "newpassword",
roles: [ { role: "readWrite", db: "newdatabase" } ]
}
)然后错误消失了。因此,芒果角色和权限的问题要比碧桂树和rockmongo更多。仍然不清楚为什么rockmongo从未从php管理屏幕显示新的数据库(所有这些都是通过mongo命令行完成的)。
https://stackoverflow.com/questions/40976099
复制相似问题