Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

usersInfo (comando de banco de dados)

usersInfo

Retorna informações sobre um ou mais usuários.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • 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

Importante

Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

O comando tem a seguinte sintaxe:

db.runCommand(
{
usersInfo: <various>,
showCredentials: <Boolean>,
showCustomData: <Boolean>,
showPrivileges: <Boolean>,
showAuthenticationRestrictions: <Boolean>,
authenticatedMechanism: <string>,
filter: <document>,
comment: <any>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição

usersInfo

vários

O(s) usuário(s) sobre quem retornar informações.

O argumento para usersInfo tem vários formatos dependendo das informações solicitadas.usersInfo: <various> Consulte.

showCredentials

booleano

Opcional. Defina como true para exibir o hash da senha do usuário.

Por padrão, este campo é false.

showCustomData

booleano

Opcional. Defina como false para omitir o customData do usuário da saída.

Por padrão, este campo é true.

Novidades na versão 5.2.

showPrivileges

booleano

Opcional. Defina como true para mostrar o conjunto completo de privilégios do usuário, incluindo informações expandidas para as funções herdadas.

Por padrão, este campo é false.

Se estiver visualizando todos os usuários, você não poderá especificar este campo.

showAuthenticationRestrictions

booleano

Opcional. Defina como true para mostrar as restrições de autenticação do usuário.

Por padrão, este campo é false.

Se estiver visualizando todos os usuários, você não poderá especificar este campo.

authenticatedMechanism

string

Novidades na versão 9.0.

Opcional. Defina como uma string que represente um mecanismo de autenticação compatível para determinar onde usersInfo procura informações de autorização do usuário. Consulte authenticationMechanisms para uma lista de mecanismos e suas strings associadas.

Se este campo não for especificado, usersInfo retornará informações do LDAP para usuários definidos no banco de dados $external e do banco de dados de autorização local para usuários do SCRAM.

Se estiver visualizando todos os usuários, você não poderá especificar este campo.

filter

documento

Opcional. Um documento que especifica $match condições de estágio para retornar informações para usuários que correspondem às condições de filtro.

comment

any

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

{ usersInfo: <various> }

O argumento para usersInfo tem vários formatos dependendo das informações solicitadas:

Argument
Devoluções

{ usersInfo: 1 }

Retorna informações sobre os usuários no banco de dados onde o comando é executado.

mongosh fornece o assistente para esta invocação do db.getUsers() comando.

{ usersInfo: <username> }

Retorne informações sobre um usuário específico que existe no banco de dados onde o comando é executado.

mongosh fornece o assistente para esta invocação do db.getUser() comando.

{ usersInfo: { user: <name>, db: <db> } }

Retorna informações sobre o usuário especificado pelo nome e banco de dados.

{ usersInfo: [ { user: <name>, db: <db> }, ... ] }
{ usersInfo: [ <username1>, ... ] }

Retorna informações sobre os usuários especificados.

{ forAllDBs: true }

Retorna informações sobre usuários em todos os bancos de dados.

Os usuários sempre podem ver suas próprias informações.

Para visualizar as informações de outro usuário, o usuário que executa o comando deve ter privilégios que incluam a ação viewUser no banco de dados do outro usuário.

As seguintes informações podem ser retornadas por dependendo das opções usersInfo especificadas:

{
"users" : [
{
"_id" : "<db>.<username>",
"userId" : <UUID>,
"user" : "<username>",
"db" : "<db>",
"mechanisms" : [ ... ],
"customData" : <document>,
"roles" : [ ... ],
"credentials": { ... }, // only if showCredentials: true
"inheritedRoles" : [ ... ], // only if showPrivileges: true or showAuthenticationRestrictions: true
"inheritedPrivileges" : [ ... ], // only if showPrivileges: true or showAuthenticationRestrictions: true
"inheritedAuthenticationRestrictions" : [ ] // only if showPrivileges: true or showAuthenticationRestrictions: true
"authenticationRestrictions" : [ ... ] // only if showAuthenticationRestrictions: true
},
...
],
"ok" : 1
}

Para visualizar informações e privilégios, mas não as credenciais, do usuário "Kari" definido no banco de dados do "home", execute o seguinte comando:

db.runCommand(
{
usersInfo: { user: "Kari", db: "home" },
showPrivileges: true
}
)

Para exibir um usuário que existe no banco de dados atual, você pode especificá-lo somente pelo nome. Por exemplo, se você estiver no banco de dados home e um usuário chamado "Kari" existir no banco de dados home, execute o seguinte comando:

db.getSiblingDB("home").runCommand(
{
usersInfo: "Kari",
showPrivileges: true
}
)

Para visualizar informações de vários usuários, utilize um array, com ou sem os campos opcionais showPrivileges e showCredentials. Por exemplo:

db.runCommand( {
usersInfo: [ { user: "Kari", db: "home" }, { user: "Li", db: "myApp" } ],
showPrivileges: true
} )

Para visualizar todos os usuários no banco de dados em que o comando é executado, use um documento de comando semelhante ao seguinte:

db.runCommand( { usersInfo: 1 } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

O comando pode aceitar usersInfo um filter documento do para retornar informações para usuários que correspondem à condição de filtro.

Para visualizar todos os usuários no banco de dados atual que têm a função especificada, use um documento de comando semelhante ao seguinte:

db.runCommand( { usersInfo: 1, filter: { roles: { role: "root", db: "admin" } } } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

O comando pode aceitar usersInfo um filter documento do para retornar informações para usuários que correspondem à condição de filtro.

A seguinte operação retorna todos os usuários que têm credenciais SCRAM-SHA-1. Especificamente, o comando retorna todos os usuários em todos os bancos de dados e depois utiliza o estágio $match para aplicar o filtro especificado aos usuários.

db.runCommand( { usersInfo: { forAllDBs: true}, filter: { mechanisms: "SCRAM-SHA-1" } } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

Novidades na versão 5.2:

Para omitir os dados personalizados dos usuários da saída, defina usersInfo a showCustomData opção false como.

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 usersInfo com showCustomData configurado false para:

db.getSiblingDB("products").runCommand ( {
usersInfo: "accountAdmin01",
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
}