Definição
db.getUsers(<options>)Retorna informações para todos os usuários no banco de dados.
db.getUsers()encapsula o comandousersInfo: 1.O método
db.getUsers()pode utilizar as seguintes opções:db.getUsers( { showCredentials: <Boolean>, showCustomData: <Boolean>, filter: <document> } ) CampoTipoDescriçãoshowCredentialsbooleano
Opcional. Defina como
truepara exibir o hash da senha do usuário.Por padrão, este campo é
false.showCustomDatabooleano
Opcional. Defina como
falsepara omitir ocustomDatado usuário da saída.Por padrão, este campo é
true.Novidades na versão 5.2.
filterdocumento
Opcional. Um documento que especifica
$matchcondições de estágio para retornar informações para usuários que correspondem às condições de filtro.Para mais informações, consulte
usersInfo.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Acesso necessário
Para visualizar as informações de outro usuário, você deve ter a viewUser ação no banco de dados do outro usuário.
Os usuários podem ver suas próprias informações.
Exemplos
Visualizar todos os usuários para um banco de dados que corresponda ao filtro especificado
O método db.getUsers() pode aceitar um documento filter para retornar informações sobre os usuários que correspondem à condição do filtro.
Para visualizar todos os usuários do banco de dados atual que têm credenciais do SCRAM-SHA-256:
db.getUsers({ filter: { mechanisms: "SCRAM-SHA-256" } })
Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.
Omitir dados personalizados da saída
Novo na versão 5.2: para omitir os dados personalizados dos usuários da saída db.getUsers(), defina a opção showCustomData como false.
Utilize o comando createUser para criar um usuário denominado accountAdmin01 no banco de dados do products:
db.getSiblingDB("products").runCommand( { createUser: "accountAdmin01", pwd: passwordPrompt(), customData: { employeeId: 12345 }, roles: [ { role: 'readWrite', db: 'products' } ] } )
O usuário contém um campo customData de { employeeId: 12345 }.
Para recuperar o usuário e omitir os dados personalizados da saída, execute db.getUsers() com showCustomData configurado como false:
db.getSiblingDB("products").getUsers( { showCustomData: false } )
Saída de exemplo:
{ 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 }