Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 通过rails向mongo用户授予角色_Ruby_Mongodb_Mongoid - Fatal编程技术网

Ruby 通过rails向mongo用户授予角色

Ruby 通过rails向mongo用户授予角色,ruby,mongodb,mongoid,Ruby,Mongodb,Mongoid,我试图通过rails控制器为mongo用户分配角色。 我知道我们可以像前面提到的那样为用户分配角色,但是我们需要更新整个用户。那么,有没有办法直接通过rails控制器运行类似于grantRole的查询呢?db.grantRolesToUser是一个。您可以通过在shell中键入它的名称而不是调用它来了解它是如何实现的: MongoDB Enterprise ruby-driver-rs:PRIMARY> db.grantRolesToUser function(username, role

我试图通过rails控制器为mongo用户分配角色。 我知道我们可以像前面提到的那样为用户分配角色,但是我们需要更新整个用户。那么,有没有办法直接通过rails控制器运行类似于
grantRole
的查询呢?

db.grantRolesToUser是一个。您可以通过在shell中键入它的名称而不是调用它来了解它是如何实现的:

MongoDB Enterprise ruby-driver-rs:PRIMARY> db.grantRolesToUser
function(username, roles, writeConcern) {
    var cmdObj = {
        grantRolesToUser: username,
        roles: roles,
        writeConcern: writeConcern ? writeConcern : _defaultWriteConcern
    };
    var res = this.runCommand(cmdObj);
    if (!res.ok) {
        throw _getErrorWithCode(res, res.errmsg);
    }
}
您可以看到它使用
runCommand

运行任意命令的Ruby机制是

然后您将执行以下操作:

 client.database.command(grantRolesToUser: username, roles: ['foo'])

要获取客户端实例,请使用
Foo.collection.client
其中
Foo
是一个Mongoid模型类。

可以将调用放入rails控制器中。这里我需要运行类似于db.grantRolesToUsers()的查询。你能用示例代码片段再解释一下吗?。