连接MongoDB Compass的方法

11

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

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

这是用户所拥有的角色列表:

"roles": [{
    "role": "readWrite",
    "db": "moviesDB"
  },
  {
    "role": "dbAdmin",
    "db": "moviesDB"
  },
  {
    "role": "dbOwner",
    "db": "moviesDB"
  },
  {
    "role": "clusterMonitor",
    "db": "admin"
  },
  {
    "role": "dbAdmin",
    "db": "moviesDB"
  }
]

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


你能分享一下你在MongoDB Compass中做了哪些条目吗? - richi arora
7个回答

23

关闭正在运行的MongoDB Compass进程,重新启动Compass。


6
这救了我一天! - ace
我同时有两个版本的Compass,旧版本出现了问题。旧版本路径为"C:\Program Files\MongoDB Compass\MongoDBCompass.exe",新版本路径为C:\Users\xxx\AppData\Local\MongoDBCompass\MongoDBCompass.exe。新版本可以正常工作。这是因为我在没有卸载旧版Mongo和Compass的情况下安装了新版Mongo导致的。 - kiranvj
1
我不得不真的重新启动我的电脑。 - undefined

8
我也遇到了同样的问题。这个方法可以帮助你解决:-
方法一:cmd-1:
use admin
db.createUser({
user: "newUsername",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

cmd-2:

db.grantRolesToUser('newUsername',[{ role: "root", db: "admin" }])

方法二: 尝试通过在进程中结束MongoDBCompassCommunity.exe的方式,然后重新启动您的Compass并尝试使用凭据登录。 请让我知道这是否对您有所帮助。

也可以尝试通过在进程中结束MongoDBCompassCommunity.exe,然后重新启动compass并尝试使用凭据登录。 - Abhishek_Itachi
第一个选项起作用了!(我没有尝试第二个) 非常感谢!我已经放弃希望解决它了=) - wicccked
2
重新启动MongoDB Compass解决了我的问题。仅仅正确更新MongoDB访问权限是不够的,需要重启Compass。 - user7114184
注意用户名/密码的大小写敏感性。 - minhhungit

1

1
为了在读/写操作时以最小权限访问mongoDB并通过compass提供访问,需要将角色“clustermonitor”附加到用户上,因为这是加载查询所有数据库状态的初始/主屏幕所需的。请注意保留HTML标签。

1

0
断开你的GUI,即MongoDB Compass,并重新启动并提供你在安装MongoDB时提到的用户名和密码。 进入高级连接选项 > 认证 然后提供用户名和密码。完成。 你可以参考这个链接:
https://techviewleo.com/install-mongodb-on-ubuntu-linux/?expand_article=1

0
以下是步骤。 使用主用户连接到数据库。在Mongosh中运行以下查询。 在创建用户时。
使用管理员账户。
db.createUser(
    {
        user: "TestUser",
        pwd: "TestPassword
            [{"db":"admin", "role":"root" }]
    }
)

如果用户已经存在,请运行以下查询。
db.grantRolesToUser("username",[{ role: "root", db: "admin" } ])

注意:上述查询将授予完全权限。 希望上述解决方案对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接