我无法使用RockMongo(v1.1.2)连接MongoLab,我做错了什么?
在我的MDb.php文件中
$MONGO["servers"][$i]["mongo_name"] = "MongoLab";
$MONGO["servers"][$i]["mongo_host"] = "ds053xx.mongolab.com";
$MONGO["servers"][$i]["mongo_port"] = "53818";
$MONGO["servers"][$i]["mongo_timeout"] = 0;
$MONGO["servers"][$i]["mongo_auth"] = true;
当我使用我的用户名,密码,db_name
登录时它可以登录但我无法用它做任何事情 在屏幕的左侧显示
Execute failed:unauthorized
function (){ return db.getCollectionNames(); }
连接到本地数据库时没有问题。 并且还可以使用相同的URL,端口,用户名等。使用MongoVUE
答案 0 :(得分:6)
这似乎不是你做错的事。看起来RockMongo需要管理员访问权限,因为它试图列出除您自己以外的数据库(例如管理员和本地数据库)的集合,这是MongoLab的Sandbox数据库无法实现的。
答案 1 :(得分:0)
如果您只想访问自己的数据库,可以在rockmongo/apps/models/MDb.php
listCollections(MongoDB $db)
函数内更改以下第31行:
这
$names = self::exec($db, 'function () {
return db.getCollectionNames();
}');
到
$names = $db->getCollectionNames();