Ошибка: не удалось добавить пользователя: нет роли с именем root@test
Я пытаюсь создать пользователя для моей базы данных Монго.
Использование MongoDB Query: db.createUser({пользователь: 'администратор', pwd: '1234567890', роли: ['корень']})
2019-01-29T11:31:32.521+0530 E QUERY [js] Error: couldn't add user: No role named root@test :
mongod.config
в /etc/mongod.config нет файла
3 ответа
Попробуйте следующее:
db.createUser({ user:"userName",
pwd:"passWord",
roles:[ { role:"readWrite",
db:"dataBaseName"
} ],
mechanisms:[ "SCRAM-SHA-1"]
})
Узнать больше о mechanisms:[ "SCRAM-SHA-1"]
на https://docs.mongodb.com/manual/core/security-scram/
Я была такая же проблема. Вам нужно переключиться на базу данных на вашем сервере mongo, которая на самом деле играет роль, потому что она говорит, что база данных
test
, который выбирается при открытии оболочки MongoDB, не имеет роли
root
. просто попробуй
use admin
чтобы переключиться на базу данных администратора, а затем попробуйте
db.createUser({ user: "mongoadmin" , pwd: "mongoadmin", roles: ["root"]})
, как вы писали в вопросе. Это решило мою проблему.
Вместо «root» предоставьте пользователю права на чтение и запись:
db.createUser({user: 'userName',pwd: 'somePassword',roles: [{ role: 'readWrite', db: 'databaseName'}]})