db.getUsers()
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çãoshowCredentials
booleanoOpcional. Defina como
true
para exibir o hash da senha do usuário.Por padrão, este campo é
false
.showCustomData
booleanoOpcional. Defina como
false
para omitir ocustomData
do usuário da saída.Por padrão, este campo é
true
.Novidades na versão 5.2.
filter
documentoOpcional. Um documento que especifica$match
condiçõ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 }