Definición
dropRoleElimina un roldefinido por el usuario de la base de datos en la que ejecuta el comando.
Tip
En
mongosh, este comando también se puede ejecutar a través del métododb.dropRole()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( { dropRole: "<role>", writeConcern: { <write concern> }, comment: <any> } )
Campos de comandos
El comando tiene los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| string | El nombre del rol definido por el usuario que se eliminará de la base de datos. |
| 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.). |
Comportamiento
Autenticación
Cuando se elimina un rol en un, los usuarios autenticados previamente permanecen conectados a la base de datos, pero pierden inmediatamente los privilegios del mongod rol.
Al eliminar un rol en unmongos, los usuarios previamente autenticados permanecen conectados a la base de datos, pero pierden los privilegios del rol al actualizarse la caché. La caché se actualiza automáticamente después del tiempo especificado con el parámetrouserCacheInvalidationIntervalSecso manualmente al ejecutar el comandoinvalidateUserCache.
Acceso requerido
Debes tener la dropRole acción en una base de datos para descartar un rol de esa base de datos.
Ejemplo
Las siguientes operaciones remueven el rol readPrices de la base de datos products:
use products db.runCommand( { dropRole: "readPrices", writeConcern: { w: "majority" } } )