Ruby 通过rails向mongo用户授予角色
我试图通过rails控制器为mongo用户分配角色。 我知道我们可以像前面提到的那样为用户分配角色,但是我们需要更新整个用户。那么,有没有办法直接通过rails控制器运行类似于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
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()的查询。你能用示例代码片段再解释一下吗?。