Google 云平台上的 Mean Stack RockMongo

Mean Stack RockMongo on Google Cloud Platform

我在 Google App Engine Cloud Platform 上部署了一个平均堆栈实例。我可以打开 ssh 隧道并从网络浏览器查看 rockmongo: http://127.0.0.1:8888/rockmongo/index.php?action=admin.index&host=0

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

db.getCollection('users').find({}) Error: error: { "ok" : 0, "errmsg" : "not authorized on newdatabase to execute command { find: \"users\", filter: {} }", "code" : 13 }

我为用户添加了读写角色并再次尝试,没有成功。当我做 db.getUser("username") 它 returns "null"。

我错过了什么...

弄明白了,我不得不:

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

然后错误消失了。因此 mongo 角色和权限的问题比 bitnami 和 rockmongo 更多。仍然不确定为什么 rockmongo 从未在 php 管理屏幕上显示新数据库(所有这些都是通过 mongo 命令行完成的)。