db.getCollectionNames()
Definição
db.getCollectionNames()
Retorna uma array contendo os nomes de todas as coleções e visualizações no banco de dados atual ou, se estiver executando com controle de acesso, os nomes das coleções, de acordo com o privilégio do usuário. Para obter detalhes, consulte Acesso necessário.
Compatibilidade
Esse método 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 para todos os comandos, consulte Comandos sem suporte.
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
Acesso necessário
O db.getCollectionNames()
é equivalente a:
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
Para usuários com o acesso exigido (privilégios que concedem a ação
listCollections
no banco de dados), o método lista os nomes de todas as collections do banco de dados.Para usuários sem o acesso exigido, o método lista somente as collections para as quais os usuários têm privilégios. Por exemplo, se um usuário tiver
find
em uma collection específica em um banco de dados, o método retornará apenas essa collection.
Comportamento
Desconexão do cliente
A partir do MongoDB 4.2, se o cliente que emitiu db.getCollectionNames()
se desconectar antes da conclusão da operação, o MongoDB marcará db.getCollectionNames()
para encerramento usando killOp
.
Restrição de estado do membro do conjunto de réplica
Para executar em um nó do conjunto de réplicas, as operações delistCollections
exigem que o nó esteja no estado PRIMARY
ou SECONDARY
. Se o nó estiver em outro estado, como STARTUP2
, haverá erros na operação.
Exemplo
O seguinte retorna os nomes de todas as coleções no banco de dados records
:
use records db.getCollectionNames()
O método retorna os nomes das coleções em uma array:
[ "employees", "products", "mylogs", "system.indexes" ]