Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

bancos de dados de lista

Nesta página

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

O comando listDatabases fornece uma lista de todos os bancos de dados existentes junto com estatísticas básicas sobre eles. O listDatabases deve ser executado no banco de dados admin , como no exemplo a seguir:

Este comando está disponível em sistemas hospedados nos seguintes ambientes:

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

Observação

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

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

Observação

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

nameOnly
boleano

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 retorno de informações de tamanho requer o bloqueio de cada banco de dados, um de cada vez, enquanto o retorno apenas de nomes não requer o bloqueio de nenhum banco de dados.

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

authorizedDatabases
boleano

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:

      • Para MongoDB 4.0. O comando 6+ , listDatabases retorna 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).

      • Para MongoDB 4.0.5, o comando listDatabases retorna somente os bancos de dados para os quais o usuário tem a ação find no recurso do banco de dados (e não no recurso de collection).

  • Se authorizedDatabases for true,

    • Para MongoDB 4.0. O comando 6+ , listDatabases retorna 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).

    • Para MongoDB 4.0.5, o comando listDatabases retorna somente os bancos de dados para os quais o usuário tem a ação find no recurso do banco de dados (e não no recurso de collection).

  • Se authorizedDatabases for false, e

Para mais informações, consulte Comportamento.

comment
qualquer

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 comando listDatabases retorna valores diferentes com base nos privilégios atribuídos ao usuário que executa o comando e na opção authorizedDatabases 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á 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 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 collections 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 do listDatabases exigem que o membro esteja no estado PRIMARY ou SECONDARY . Se o membro estiver em outro estado, como STARTUP2, os erros de operação.

Execute o listDatabases no banco de dados do admin :

db.adminCommand( { listDatabases: 1 } )

Veja a seguir um exemplo de um resultado listDatabases :

{
"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 dados admin . Especifique a opção nameOnly: true :

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

Veja a seguir um exemplo de um resultado de listDatabases quando executado com a opção nameOnly: true :

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

Execute listDatabases no 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 regular expression especificado:

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

Quando executado em uma instância mongos , listDatabases:

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

← listar Coleções