首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用RockMongo和MongoLab时“执行失败:未经授权”

在使用RockMongo和MongoLab时“执行失败:未经授权”
EN

Stack Overflow用户
提问于 2013-12-07 04:26:58
回答 2查看 1.7K关注 0票数 0

我不能使用RockMongo(v1.1.2)连接MongoLab,我做错了什么?

在我的MDb.php文件中

代码语言:javascript
复制
$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登录时

它可以登录,但我不能用它在屏幕左边做任何事情。

代码语言:javascript
复制
    Execute failed:unauthorized
    function (){ return db.getCollectionNames(); }

当连接到本地数据库时我没有问题。还可以与MongoVUE使用相同的url、端口、用户名等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-08 01:38:44

这似乎不是你做错了什么。看起来,RockMongo需要管理员访问,因为它试图列出除您自己的数据库(例如管理和本地数据库)的集合,这是不可能的w/ MongoLab的Sandbox数据库。

https://github.com/iwind/rockmongo/issues/35

票数 6
EN

Stack Overflow用户

发布于 2014-01-29 15:18:32

如果只想访问自己的数据库,可以在rockmongo/apps/models/MDb.php listCollections(MongoDB $db)函数中更改以下第31行:

从…

代码语言:javascript
复制
$names = self::exec($db, 'function () {
    return db.getCollectionNames();
 }');

代码语言:javascript
复制
$names = $db->getCollectionNames();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20437572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档