mongodbdatabase-connectiondatabase-administrationmongodb-compass

Connecting using MongoDB Compass


I'm trying to see the contents of a collection using MongoDB Compass. I have username/password authentication set up. I can log in successfully but can't see any documents in the collection. Instead, I see the error:

An error occurred while loading navigation: command hostInfo requires authentication.

Here are the list of roles the user has:

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

I can successfully query the collection using mongo shell and node.js driver but not through Compass. If someone could tell me what I'm doing wrong I'd appreciate it. Thanks in advance!


Solution

  • I too got stucked in the same problem. It helped me out:-

    Way 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" }])
    

    Way 2:- Try by killing the MongoDBCompassCommunity.exe from processes and then restart your compass again and try login with credentials.

    Let me know if this also helps you out.