使用MongoDB Compass进行连接

wic*_*ked 8 database-connection database-administration mongodb mongodb-compass

我正在尝试使用MongoDB Compass查看集合的内容。我已经设置了用户名/密码验证。我可以成功登录,但是在收藏集中看不到任何文档。相反,我看到了错误:

加载导航时发生错误:命令hostInfo需要验证。

以下是用户具有的角色列表:

"roles": [{
    "role": "readWrite",
    "db": "moviesDB"
  },
  {
    "role": "dbAdmin",
    "db": "moviesDB"
  },
  {
    "role": "dbOwner",
    "db": "moviesDB"
  },
  {
    "role": "clusterMonitor",
    "db": "admin"
  },
  {
    "role": "dbAdmin",
    "db": "moviesDB"
  }
]
Run Code Online (Sandbox Code Playgroud)

我可以使用mongo shell和node.js驱动程序成功查询集合,但不能通过Compass。如果有人可以告诉我我在做什么错,我将不胜感激。提前致谢!

bar*_*ker 13

终止正在运行的mongodb罗盘进程,然后重新启动罗盘。

  • 这为我节省了一天! (3认同)

Abh*_*chi 7

我也陷入了同样的问题。它帮助了我:-

方式1:- cmd-1?

use admin
db.createUser({
user: "newUsername",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
Run Code Online (Sandbox Code Playgroud)

cmd-2:

db.grantRolesToUser('newUsername',[{ role: "root", db: "admin" }])
Run Code Online (Sandbox Code Playgroud)

方式 2:- 尝试从进程中杀死 MongoDBCompassCommunity.exe,然后再次重新启动指南针并尝试使用凭据登录。

如果这对您也有帮助,请告诉我。

  • 重新启动 MongoDB Compass 为我解决了这个问题。仅正确更新 MongoDB 访问权限是不够的,但需要重新启动 Compass。 (2认同)