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 命令行完成的)。
我在 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 命令行完成的)。