debemos tener cuidado de colocar el bd el mismo nombre de la base de datos a la cual el usuario tendrá acceso de lectoescritura
"user" = nombre del usuario.
"pwd" = contraseña.
"roles" = permisos, en este caso readWrite solo para esta base de datos.
Roles comunes para bases de datos específicas
Estos roles aplican dentro de una base de datos en particular:
read = El usuario puede leer datos, pero no modificarlos.
Ideal para reportes o consultas.
readWrite = Puede leer y escribir en la base de datos.
El más usado en aplicaciones.
Roles administrativos a nivel de base de datos
dbAdmin = Permite administrar la base de datos: crear índices, ver estadísticas, ejecutar validate(), pero no modificar datos.
userAdmin = Puede crear y administrar usuarios en esa base de datos.
dbOwner = Tiene todos los privilegios en esa base de datos (equivale a combinar readWrite, dbAdmin y userAdmin).
Roles a nivel de clúster (más globales)
Estos aplican sobre todo el servidor/clúster, no solo en una DB específica:
clusterAdmin = Acceso administrativo completo al clúster (gestión de nodos, sharding, etc.).
clusterManager = Puede monitorear y administrar clústeres, pero no cambiar usuarios ni roles.
clusterMonitor = Solo permite monitoreo, consultas a métricas, estado, logs.
hostManager = Permite gestionar servidores (restart, estadísticas de procesos).
Roles administrativos a nivel del sistema
En la base de datos admin se pueden asignar roles globales:
userAdminAnyDatabase = Puede crear y administrar usuarios en cualquier base de datos.
dbAdminAnyDatabase = Administración de todas las bases de datos (índices, validaciones, estadísticas).
readAnyDatabase = Lectura en todas las bases de datos (excepto local).
readWriteAnyDatabase = Lectura y escritura en todas las bases de datos.
Roles especiales
root = Superusuario, con todos los privilegios en todas las bases de datos y clústeres.
backup = Permite ejecutar operaciones de respaldo (mongodump).
restore = Permite restaurar datos (mongorestore).