Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-mongodb-新根用户_Ruby On Rails_Ruby_Mongodb - Fatal编程技术网

Ruby on rails Rails-mongodb-新根用户

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

我想在mongodb中创建一个新的root用户,他可以访问任何数据库、任何集合,并作为root用户执行所有操作。 下面是我的
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']});