答案 0 :(得分:11)
我花了7天的时间才弄清楚。当我升级到 Robo 3T 1.3版时。它开始工作正常。我以前的版本是 1.2 。
很高兴知道您是否遇到此问题。
答案 1 :(得分:8)
转到连接设置 - >认证 - 提供数据库名称,用户名和密码 - 现在测试连接 我遇到了同样的问题,然后我提供了解决我的问题的上述信息
参考:( Vaibhav的帖子)要点3.Populate DB名称和用户名及密码How to connect Robomongo to MongoDB
答案 2 :(得分:6)
根据我的经验,它与失败的数据库用户/密码身份验证有关。因此,与服务器的IP连接可能是成功的,但您无法连接到db。我建议仔细检查您的数据库用户名/密码,然后重试。
最好显示内部的内容"显示错误详情"。
答案 3 :(得分:3)
这是因为您连接的任何用户都没有列出数据库的权限。
https://docs.mongodb.com/manual/reference/built-in-roles/
请注意,用户/角色可以与特定数据库/集合进行连接和交互,但是为了让Robomongo列出数据库/集合,您需要让它使用具有{{1的用户连接到您的数据库特权。
答案 4 :(得分:2)
在将MongoDB版本从 3.6升级到4.2 之后,我也遇到了同样的问题,以前我使用的是Robo 3T version 1.2
。因此,我刚刚将Robo 3T
版本从 1.2升级到1.3 ,它再次开始工作。
答案 5 :(得分:1)
使用mongodb v4.2.0版本时遇到了相同的问题,但是身份验证设置无济于事。从Robo 3T(即mongoRobo)连接时,请不断获取以下日志。
2019-09-30T16:41:52.286-0400 I NETWORK [listener] connection accepted from 127.0.0.1:53862 #1 (1 connection now open)
2019-09-30T16:41:52.286-0400 I NETWORK [conn1] received client metadata from 127.0.0.1:53862 conn1: { application: { name: "robo3t" }, driver: { name: "MongoDB Internal Client", version: "3.4.3-10-g865d2fb" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "17.7.0" } }
2019-09-30T16:41:52.292-0400 E - [conn1] Assertion: Location34348: cannot translate opcode 2010 src/mongo/rpc/message.h 120
2019-09-30T16:41:52.292-0400 I NETWORK [conn1] DBException handling request, closing client connection: Location34348: cannot translate opcode 2010
2019-09-30T16:41:52.292-0400 I NETWORK [conn1] end connection 127.0.0.1:53862 (0 connections now open)
通过将Robo 3T升级到v1.3(mac)最终解决了该问题
答案 6 :(得分:1)
我刚刚发现我必须升级到支持MongoDB最新版本的最新版本。它无需任何身份验证即可工作。
答案 7 :(得分:0)
我遇到了同样的错误("无法加载数据库列表")。由于某种原因,我的所有数据库和集合都被删除了。显然,当服务器上没有可用的数据库/集合时,Robomongo无法处理这种情况。
为了解决这个问题,我连接到Mongo Shell,创建了一个数据库,并在那里创建了一个集合:
mongo (start mongo shell)
use local (create database named local)
db.createCollection("somename")
之后,我可以连接到Mongo服务器
更新:我再次遇到此问题,这次是因为它是虚拟机上的新Mongo安装,而且其他主机的连接不是& #39;允许,所以我必须在/etc/mongod.conf中将bindIP从127.0.0.1修改为0.0.0.0
net:
bindIp: 0.0.0.0
port: 27017
并重新启动mongo sudo service mongod restart
答案 8 :(得分:0)
如果您使用mongod --auth --dbpath /data/db1
命令启动MongoDB,请删除--auth
并启动它。
mongod --dbpath / data / db1
现在,Robomongo无需身份验证即可连接。但是没有身份验证就开始并不安全。因此,如本article所述,使用mongo
命令获取另一个终端并为您的数据库创建用户。
use myDB
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]
}
)
现在使用--auth
重新启动MongoDB。在连接设置中配置上述身份验证详细信息后,与Robomongo连接。
mongod --auth --dbpath / data / db1
答案 9 :(得分:0)
我有同样的问题(使用Robomongo),然后,我创建了一个用他的密码连接到数据库的用户,现在它正常工作
答案 10 :(得分:0)
就我而言,我更改了连接的配置:
您转到:管理员连接>>编辑>>身份验证>>重命名为数据库:admin
当我加载连接时,所有数据库都会出现。
答案 11 :(得分:0)
启动 mongod
进程。启动 mongo
进程。
在您打开的 mongo
shell 上,先输入 rs.status()
,然后是 rs.initiate()
,然后是 rs.status()
。
答案 12 :(得分:0)
我的版本是 1.4.3 Robo3T。
对我有用的是;
应该可以解决。
答案 13 :(得分:0)
当我将 mongodb 从 3.2 升级到 5.0 并尝试在 Robo 3T 1.2 上连接时遇到了同样的问题。
然后我安装了 Mongo Compass,问题解决了。安装 Robo 3T 1.3 也会解决问题。