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 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:

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 listDatabases de:

  • name

  • sizeOnDisk

  • empty

  • shards

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 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 retorna o nome e as informações de tamanho de cada banco de dados de listDatabases 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 listDatabases ação no ação de cluster, listDatabases o comando retornará todos os bancos de dados.

    • Se o usuário não tiver a listDatabases listDatabases ação no cluster, 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 o true for, o 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 collectionslistDatabases 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á habilitada, o comando listDatabases retorna valores diferentes com base nos privilégios atribuídos ao usuário que executa o comando e na opção de comando authorizedDatabases:

  • 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 listDatabases no banco de dados 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
}

Novidade na versão 3.6.

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 listDatabases quando executado com a opção nameOnly: true:

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

Novidade na versão 3.6.

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 que listDatabases retorna apenas informações em bancos de dados cujo nome corresponde à regular expressionespecificada:

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.

Voltar

listar Coleções