无法加载数据库列表

时间:2016-10-14 16:09:18

标签: mongodb robo3t

我想使用Robomongo连接到远程数据库。我可以连接到数据库,但错误说:
无法加载数据库列表
enter image description here

我该怎么办?

14 个答案:

答案 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。

对我有用的是;

  1. 转到 MongoDB 连接并编辑相关连接
  2. 转到连接设置
  3. 在身份验证选项卡下,选中“手动指定可见 数据库”并填写您需要访问的 dbName。

应该可以解决。

答案 13 :(得分:0)

当我将 mongodb 从 3.2 升级到 5.0 并尝试在 Robo 3T 1.2 上连接时遇到了同样的问题。

然后我安装了 Mongo Compass,问题解决了。安装 Robo 3T 1.3 也会解决问题。