revokeRolesFromRole
Definition
revokeRolesFromRole
Removes the specified inherited roles from a role. The
revokeRolesFromRole
command has the following syntax:Tip
In
mongosh
, this command can also be run through thedb.revokeRolesFromRole()
helper method.Helper methods are convenient for
mongosh
users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
Compatibility
This command is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Important
This command is not supported in M0, M2, and M5 clusters. For more information, see Unsupported Commands.
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Syntax
The command has the following syntax:
db.runCommand( { revokeRolesFromRole: "<role>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } The command has the following fields: .. list-table:: :header-rows: 1 :widths: 20 20 80 * - Field - Type - Description * - ``revokeRolesFromRole`` - string - The role from which to remove inherited roles. * - ``roles`` - array - The inherited roles to remove. * - ``writeConcern`` - document - .. include:: /includes/fact-write-concern-spec-link.rst * - ``comment`` - any - .. include:: /includes/extracts/comment-content.rst .. |local-cmd-name| replace:: :dbcommand:`revokeRolesFromRole` .. include:: /includes/fact-roles-array-contents.rst
Required Access
You must have the revokeRole
action on a database to revoke a role on that database.
Example
The purchaseAgents
role in the emea
database inherits privileges
from several other roles, as listed in the roles
array:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readOrdersCollection", "db" : "emea" }, { "role" : "readAccountsCollection", "db" : "emea" }, { "role" : "writeOrdersCollection", "db" : "emea" } ] }
The following revokeRolesFromRole
operation on the emea
database removes two roles from the purchaseAgents
role:
use emea db.runCommand( { revokeRolesFromRole: "purchaseAgents", roles: [ "writeOrdersCollection", "readOrdersCollection" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )
The purchaseAgents
role now contains just one role:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readAccountsCollection", "db" : "emea" } ] }