Ruby on rails Rails-mongodb-新根用户
我想在mongodb中创建一个新的root用户,他可以访问任何数据库、任何集合,并作为root用户执行所有操作。 下面是我的Ruby on rails Rails-mongodb-新根用户,ruby-on-rails,ruby,mongodb,Ruby On Rails,Ruby,Mongodb,我想在mongodb中创建一个新的root用户,他可以访问任何数据库、任何集合,并作为root用户执行所有操作。 下面是我的mongoid.yml文件 development: clients: default: database: mydb_development hosts: - localhost:27017 options: user: rootuser password: 12345 o
mongoid.yml
文件
development:
clients:
default:
database: mydb_development
hosts:
- localhost:27017
options:
user: rootuser
password: 12345
options:
raise_not_found_error: false
我阅读了文档并创建了新的rootuser
use admin
db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});
它成功创建了用户,但只能访问admin
数据库,而不能访问任何数据库
Mongo::Auth::Unauthorized (User rootuser is not authorized to access mydb_development.):
另一方面,当我想在mydb\u开发中添加新的root用户时
myrootuser
use mydb_development
db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});
我无法创建新用户,出现错误:
Error: couldn't add user: No role named root@mydb_development :
所以问题是:如何添加具有root权限的新用户,并能够通过mongoid.yml
使用它
MongoDB shell版本:3.2.10您可能通过使用
dbOwner
角色而不是root
来解决这个问题。root
角色只能在admin
db上使用
use admin;
db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});