Google云平台上的Mean Stack RockMongo

时间:2016-12-05 14:04:39

标签: mongodb google-app-engine mean-stack rockmongo

我在Google云平台App Engine上部署了一个Mean堆栈实例。我可以打开一个ssh隧道并从webbrowser查看rockmongo: http://127.0.0.1:8888/rockmongo/index.php?action=admin.index&host=0

我可以使用App Engine的root和默认密码登录。当我去添加一个新的数据库时,它说它成功了,但没有在列表中显示新的数据库。我创建了一个新用户,它显示了该用户。当我通过mongo命令登录时,我可以切换到我的新数据库但是当我尝试查找集合中的所有项目时,我收到一条错误,表明用户未被授权执行该操作。

  

db.getCollection('用户&#39)。发现({})   错误:错误:{       " OK" :0,       " ERRMSG" :"未授权在newdatabase上执行命令{find:\" users \",filter:{}}",       "代码" :13   }

我将readWrite角色添加到用户并再次尝试,没有运气。当我执行db.getUser(" username")时,它返回" null"。

我错过了什么......

1 个答案:

答案 0 :(得分:1)

想出来,我不得不:

以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" } ]
      }
    )

然后错误就消失了。与bitnami和rockmongo相比,mongo角色和权限更是一个问题。还不确定为什么rockmongo从未在php管理界面显示新数据库(所有这些都是通过mongo命令行完成的)。