简体   繁体   中英

MongoDB shell authentication error

I created a user and password for a database called student .:

db.createUser({user:'Catalin',pwd:'Catalin',roles:[{role:'userAdmin',db:'student'}]});

So I restarted MongoDB Server with this command:

mongod --auth --dbpath C:\data\db

in another terminal, I connected to the sever with:

mongo

then queried the server with :

> db.getUsers()
[
    {
            "_id" : "student.Catalin",
            "user" : "Catalin",
            "db" : "student",
            "roles" : [
                    {
                            "role" : "userAdmin",
                            "db" : "student"
                    }
            ]
    }

]

went to the student database:

> use student
switched to db student

Entered my username and password succesfully via this command:

> db.auth('Catalin','Catalin');
1

and when I want to view my collections I get an error, WHY?:

> show collections
2016-03-07T15:54:41.166+0300 E QUERY    [thread1] Error: listCollections failed:
{
    "ok" : 0,
    **"errmsg" : "not authorized on student to execute command { listCollectio
ns: 1.0, filter: {} }",**
    "code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:746:1
DB.prototype.getCollectionInfos@src/mongo/shell/db.js:758:15
DB.prototype.getCollectionNames@src/mongo/shell/db.js:769:12
shellHelper.show@src/mongo/shell/utils.js:695:9
shellHelper@src/mongo/shell/utils.js:594:15
@(shellhelp2):1:1

"errmsg" : "not authorized on student to execute command { listCollectio ns: 1.0, filter: {} }",

PS : I'm using mongoDB 3.2

The userAdmin built-in role only provides the ability to create and modify roles and users on a database. If you need access to the database, you would need to either assign database roles , or other roles that has database access such as dbOwner .

Please see Built-in Roles for more detailed information.

You may also find these useful:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM