Definición
db.getUsers(<options>)Devuelve información de todos los usuarios en la base de datos.
db.getUsers()encapsula el comandousersInfo: 1.El método
db.getUsers()puede tomar las siguientes opciones:db.getUsers( { showCredentials: <Boolean>, showCustomData: <Boolean>, authenticatedMechanism: <string>, filter: <document> } ) CampoTipoDescripciónshowCredentialsbooleano
opcional. Configura en
truepara mostrar la contraseña encriptada del usuario.Por defecto, este campo es
false.showCustomDatabooleano
opcional. Configúralo en
falsepara omitir elcustomDatadel usuario en la salida.Por defecto, este campo es
true.Nuevo en la versión 5.2.
authenticatedMechanismstring
Nuevo en la versión 9.0.
Opcional. Se establece en una cadena que representa un mecanismo de autenticación compatible para determinar dónde
db.getUsers()busca la información de autorización del usuario. ConsulteauthenticationMechanismspara obtener una lista de los mecanismos y sus cadenas asociadas.Si no se especifica este campo,
db.getUsers()devuelve información de LDAP para los usuarios definidos en la base de datos$externaly de la base de datos de autorización local para los usuarios de SCRAM.filterDocumento
opcional. Un documento que especifica
$matchlas condiciones para devolver información sobre los usuarios que cumplan con las condiciones del filtro.Para obtener más información, consulta
usersInfo.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
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.
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.
Acceso requerido
Para ver la información de otro usuario, debe tener la acción viewUser en la base de datos de otro usuario.
Los usuarios pueden ver su propia información.
Ejemplos
Ver todos los usuarios de una base de datos que coincidan con el filtro especificado
El método db.getUsers() puede aceptar un documento filter para devolver información sobre los usuarios que cumplan la condición del filtro.
Para ver a todos los usuarios de la base de datos actual que tienen credenciales SCRAM-SHA-256:
db.getUsers({ filter: { mechanisms: "SCRAM-SHA-256" } })
Al ver todos los usuarios, puedes especificar la opción showCredentials pero no las opciones showPrivileges o showAuthenticationRestrictions.
Omitir datos personalizados de la salida
Nuevo en la versión 5.2:
Para omitir los datos personalizados de los usuarios en la salida db.getUsers(), establezca la opción showCustomData en false.
Utilizar el comando createUser para crear un usuario denominado accountAdmin01 en la base de datos products:
db.getSiblingDB("products").runCommand( { createUser: "accountAdmin01", pwd: passwordPrompt(), customData: { employeeId: 12345 }, roles: [ { role: 'readWrite', db: 'products' } ] } )
El usuario contiene un campo customData de { employeeId: 12345 }.
Para recuperar el usuario pero omitir los datos personalizados de la salida, ejecute db.getUsers() con showCustomData establecido en false:
db.getSiblingDB("products").getUsers( { showCustomData: false } )
Ejemplo de salida:
{ users: [ { _id: 'products.accountAdmin01', userId: UUID("0955afc1-303c-4683-a029-8e17dd5501f4"), user: 'accountAdmin01', db: 'products', roles: [ { role: 'readWrite', db: 'products' } ], mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ] } ], ok: 1 }