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



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

"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进行查询。如果有人可以告诉我我在做什么错,我将不胜感激。提前致谢!

最佳答案

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

方式1:-
cmd-1:

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

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

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

让我知道这是否对您有帮助。

关于mongodb - 使用MongoDB Compass进行连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51902136/

10-14 19:33