Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

listDatabases

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • Exemplos
  • Saída
listDatabases

O comando listDatabases retorna uma lista não classificada de todos os bancos de dados existentes e estatísticas básicas sobre cada banco de dados de dados. Você deve executar o comando listDatabases no banco de dados de dados admin .

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

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a 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

db.adminCommand(
{
listDatabases: 1
}
)

O valor (por exemplo: 1) não afeta a saída do comando.

O comando pode assumir os seguintes campos opcionais:

Campo
Tipo
Descrição
filter
documento

Opcional. Um predicado de query que determina quais bancos de dados são listados.

Você pode especificar uma condição em qualquer um dos campos na saída de listDatabases:

  • name

  • sizeOnDisk

  • empty

  • shards

A opção filter não é suportada em clusters de nível gratuito e compartilhado do Atlas e instâncias sem servidor.

nameOnly
booleano

Opcional. Um sinalizador para indicar se o comando deve retornar apenas os nomes do banco de dados ou retornar os nomes do banco de dados e as informações de tamanho.

O valor padrão é false, então listDatabases retorna o nome e as informações de tamanho de cada banco de dados de dados.

authorizedDatabases
booleano

Opcional. Um sinalizador que determina quais bancos de dados serão retornados com base nos privilégios do usuário quando o controle de acesso estiver habilitado.

  • Se authorizedDatabases não for especificado, e

    • Se o usuário tiver a ação listDatabases no recurso de cluster, o comando listDatabases retornará todos os bancos de dados.

    • Se o usuário não tiver a ação listDatabases no cluster, listDatabases retornará apenas os bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em collections específicas).

  • Se authorizedDatabases for true, listDatabases retornará somente os bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em collections específicas).

  • Se authorizedDatabases for false, e

Para mais informações, consulte Comportamento.

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).

Quando a autenticação está ativada, o listDatabases comando retorna valores diferentes com base nos privilégios atribuídos ao usuário que executa o comando e na authorizedDatabases opção comando:

  • Se authorizedDatabases não for especificado, e

    • Se o usuário tiver a ação listDatabases no recurso de cluster, o comando listDatabases retornará todos os bancos de dados.

    • Se o usuário não tiver a ação listDatabases no cluster, o comando listDatabases retornará somente os bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em coleções específicas).

  • Se o authorizedDatabases for true, o comando listDatabases retornará somente os bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em coleções específicas).

  • Se authorizedDatabases for false, e

A partir do MongoDB 4.2, se o cliente que emitiu listDatabases se desconectar antes da conclusão da operação, o MongoDB marcará listDatabases para encerramento usando killOp.

Para executar em um membro do conjunto de réplicas, as operações delistDatabases exigem que o membro esteja no estado PRIMARY ou SECONDARY. Se o membro estiver em outro estado, como STARTUP2, ocorre um erro na operação.

Execute o listDatabases no banco de banco de dados do admin :

db.adminCommand( { listDatabases: 1 } )

Saída de exemplo:

{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 83886080,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 83886080,
"empty" : false
},
{
"name" : "test",
"sizeOnDisk" : 83886080,
"empty" : false
}
],
"totalSize" : 251658240,
"totalSizeMb" : 251,
"ok" : 1
}

Execute listDatabases no banco de banco de dados admin. Especifique a opção nameOnly: true:

db.adminCommand( { listDatabases: 1, nameOnly: true} )

Saída de exemplo:

{
"databases" : [
{
"name" : "admin"
},
{
"name" : "local"
},
{
"name" : "test"
}
],
"ok" : 1
}

Execute listDatabases no banco de banco de dados admin. Especifique a opção filter para listar somente bancos de dados que correspondam aos critérios de filtro especificados.

Por exemplo, o seguinte especifica um filtro tal que listDatabases retorna apenas informações em bancos de dados cujo nome corresponde ao especificado regular expression:

db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )

Quando executado em uma mongos listDatabasesinstância,:

  • adiciona um documento incorporado de shards ao documento de resumo de cada banco de dados se nameOnly: false e

  • exclui o banco de dados local.

Cada elemento no documento incorporado do shards consiste em um campo cuja chave fornece o nome de uma collection nesse shard e cujo valor representa o tamanho da collection em bytes.

O campo sizeOnDisk representa o tamanho total de todas as collections e índices listados.

Por exemplo:

{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 16384,
"empty" : false,
"shards" : {
"config" : 16384
}
},
{
"name" : "config",
"sizeOnDisk" : 176128,
"empty" : false,
"shards" : {
"clients" : 28672,
"patients" : 8192,
"config" : 139264
}
},
{
"name" : "test",
"sizeOnDisk" : 12288,
"empty" : false,
"shards" : {
"clients" : 12288
}
}
],
"totalSize" : 204800,
"totalSizeMb" : 0,
"ok" : 1
}

Dica

Veja também:

listDatabases.databases

Tipo: Array

Array de documentos, cada um contendo informações em um único banco de dados.

listDatabases.databases.name

Tipo: String

Nome do banco de dados.

listDatabases.databases.sizeOnDisk

Tipo: inteiro

Tamanho total dos arquivos do banco de dados no disco, expressos em bytes.

listDatabases.databases.empty

Tipo: Booleano

Especifica se o banco de dados está vazio.

listDatabases.databases.shards

Tipo: Documento

Cada elemento no documento shards consiste em um campo cuja chave fornece o nome de uma collection nesse shard e cujo valor representa o tamanho da collection em bytes.

shards só aparece na saída se nameOnly: false.

Consulte clusters fragmentados para mais detalhes.

listDatabases.totalSize

Tipo: inteiro

Soma de todos os campos sizeOnDisk em bytes.

listDatabases.totalSizeMb

Tipo: inteiro

Soma de todos os campos sizeOnDisk, expressa em megabytes.

listDatabases.ok

Tipo: inteiro

Valor de retorno para o comando. Um valor de 1 indica o sucesso.

Voltar

listar Coleções