Definição
Compatibilidade
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
Sintaxe
db.adminCommand( { listDatabases: 1 } )
The value (for example, 1) does not affect the output of the command.
Campos de comando
O comando pode assumir os seguintes campos opcionais:
Campo | Tipo | Descrição |
|---|---|---|
| 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
|
| booleano | Optional. Indicates whether the command returns just the database names, or returns both database names and size information. Defaults to |
| 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.
Para mais informações, consulte Comportamento. |
| 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). |
Comportamento
When authentication is enabled, listDatabases returns different results based on the user's privileges and the authorizedDatabases option:
Se
authorizedDatabasesnão for especificado, eSe o usuário tiver a ação
listDatabasesno recurso de cluster, o comandolistDatabasesretornará todos os bancos de dados.Se o usuário não tiver a ação
listDatabasesno cluster, o comandolistDatabasesretornará 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
authorizedDatabasesfortrue, o comandolistDatabasesretornará 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
authorizedDatabasesforfalse, eSe o usuário tiver a ação
listDatabasesno cluster, o comandolistDatabasesretornará todos os bancos de dados.Se o usuário não tiver a ação
listDatabasesno cluster, o comandolistDatabasesretornará erros com permissões insuficientes.
Desconexão do cliente
Se o cliente que emitiu listDatabases se desconectar antes da conclusão da operação, o MongoDB marcará listDatabases para encerramento usando killOp.
Restrição de estado do membro do conjunto de réplica
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.
Exemplos
Listar nomes e tamanhos do banco de dados
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 }
Listar apenas nomes de bancos de dados
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 }
Listar bancos de dados que correspondem ao filtro
Run listDatabases against the admin database. Specify the filter option to list only databases that match the filter criteria.
For example, the following filter returns only databases whose name matches the specified regular expression:
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
Clusters fragmentados
When run against a mongos instance, listDatabases:
adiciona um documento incorporado
shardsao documento de resumo de cada banco de dados, senameOnly: false.exclui o banco de dados
local.
Each field in the shards embedded document uses the shard name as the key and the database's size in bytes as the value.
The sizeOnDisk field represents the total size of all collections and indexes in the listed database.
Por exemplo:
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 16384, "empty" : false, "shards" : { "config" : 16384 } }, { "name" : "config", "sizeOnDisk" : 176128, "empty" : false, "shards" : { "shard01" : 28672, "shard02" : 8192, "config" : 139264 } }, { "name" : "test", "sizeOnDisk" : 12288, "empty" : false, "shards" : { "shard01" : 12288 } } ], "totalSize" : 204800, "totalSizeMb" : 0, "ok" : 1 }
Saída
listDatabases.databasesTipo: Array
Array de documentos, cada um contendo informações em um único banco de dados.
listDatabases.databases.sizeOnDiskTipo: inteiro
Tamanho total dos arquivos do banco de dados no disco, expressos em bytes.
listDatabases.databases.shardsTipo: Documento
Each field in the
shardsdocument uses the shard name as the key and the database's size in bytes as the value.shardssó aparece na saída senameOnly: false.Consulte clusters fragmentados para mais detalhes.