Definición
revokeRolesFromUserElimina uno o más roles de un usuario en la base de datos donde existen los roles.
Tip
mongoshEn, este comando también se puede ejecutar a través deldb.revokeRolesFromUser()método auxiliar.Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { revokeRolesFromUser: "<user>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| string | El usuario del que se eliminarán los roles. |
| arreglo | Los roles que se eliminarán del usuario. |
| Documento | Opcional. El nivel de confirmación de escritura (write concern) de la operación. Consulte Especificación de nivel de confirmación de escritura (write concern). |
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
En el campo roles, puede especificar tanto roles de funcionalidad incorporada como roles definidos por el usuario.
Para especificar un rol que existe en la misma base de datos donde se ejecuta revokeRolesFromUser, puedes especificar el rol utilizando el nombre del rol:
"readWrite"
O puede especificar el rol con un documento, como en:
{ role: "<role>", db: "<database>" }
Para especificar un rol que existe en una base de datos diferente, especifique el rol mediante un documento.
Acceso requerido
Se debe tener la revokeRole sobre una base de datos para revocar un rol en esa base de datos.
Ejemplo
El usuario accountUser01 en la base de datos products tiene los siguientes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]
El siguiente comandorevokeRolesFromUserelimina dos roles del usuario: el rolreaden la base de datos stock y el rolreadWriteen la base de datos products, que también es la base de datos en la que se ejecuta el comando:
use products db.runCommand( { revokeRolesFromUser: "accountUser01", roles: [ { role: "read", db: "stock" }, "readWrite" ], writeConcern: { w: "majority" } } )
El usuario accountUser01 en la base de datos products ahora solo tiene un rol restante:
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]