Menu Docs

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

db.collection.drop()

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Comportamento
  • Exemplo
db.collection.drop(<options>)

Importante

Método mongosh

Esta página documenta um método mongosh . Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, como Node.js.

Para o comando do banco de dados, consulte o comando drop.

Para drivers de API do MongoDB, consulte a documentação do driver MongoDB específica do idioma.

Para a documentação de shell legada do mongo, consulte a documentação para a versão correspondente do MongoDB Server:

mongo shell v4.4

Remove uma coleção ou visualização do banco de dados. O método também remove quaisquer índices associados à coleção descartada. O método fornece um wrapper em torno do comando drop .

Retorna:
  • true quando descarta uma coleção com sucesso.
  • false quando a coleção a ser descartada não existe.

Observação

Quando executado em um cluster fragmentado, db.collection.drop() sempre retorna true.

Você pode utilizar o db.collection.drop() para implantações hospedadas nos seguintes ambientes:

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

O método drop() tem o seguinte formulário:

db.collection.drop( { writeConcern: <document> } )

O método drop() recebe um documento opcional com o seguinte campo:

Campo
Descrição
Escreva preocupação

Opcional. Um documento expressando a write concern da operação db.collection.drop() . Omite o uso da detecção de gravação padrão.

Quando emitido em um cluster fragmentado, o mongos converte o write concern do comando drop e seu db.collection.drop() auxiliar em "majority".

  • O método db.collection.drop() e o comando drop criam uma invalidar para quaisquer Alterar Streams abertos na coleção descartada.

  • O método db.collection.drop() e o comando drop abortam qualquer compilação de índice em andamento na collection de destino antes de descartar a collection.

    Para conjuntos de réplicas ou conjuntos de réplicas de estilhaços, abortar um índice no primário não anula simultaneamente as compilações de índice secundário. O MongoDB tenta abortar as compilações em andamento para os índices especificados no primário e, se for bem-sucedido, cria uma entrada de oplog abort associada. Os membros secundários com compilações replicadas em andamento aguardam uma entrada de oplog de confirmação ou abortamento do primário antes de confirmar ou abortar a compilação do índice.

  • A eliminação de uma coleção exclui seus intervalos de zonas/tags associados.

  • A partir do MongoDB 5.0, o comando drop e o método db.collection.drop() retornam um erro se você tentar eliminar uma coleção no banco de dados de administração ou no banco de dados de configuração a partir de um mongos. Para eliminar essas coleções, conecte-se ao servidor de configuração e execute o comando lá.

    Aviso

    Soltar coleções no banco de dados admin ou no banco de dados de configuração pode deixar seu cluster em um estado inutilizável.

  • A partir do MongoDB 6.0, o método db.collection.drop() descarta a coleção especificada e quaisquer coleções internas relacionadas a campos criptografados.

    Aviso

    O comportamento do método db.collection.drop() difere do comportamento do método drop do driver. A conexão do driver deve ter a criptografia automática habilitada para descartar a coleção especificada e quaisquer coleções internas relacionadas a campos criptografados. mongosh sempre descarta a coleção especificada e quaisquer coleções internas relacionadas a campos criptografados.

Em um cluster fragmentado, se você criar uma coleção que tenha o mesmo nome de uma coleção excluída anteriormente antes do MongoDB 5.0, mongos poderá encaminhar operações para o fragmento errado. Para evitar esta situação, use as instruções específicas da versão abaixo:

Para um cluster fragmentado executando o MongoDB 5.0 ou posterior, nenhuma ação especial é necessária. Use o método drop() e, em seguida, crie uma nova coleta com o mesmo nome.

Para um cluster fragmentado, se você utilizar o método drop() e, em seguida, criar uma nova collection com o mesmo nome, você deverá:

Limpar as tabelas de roteamento em cache é o procedimento preferido, pois é mais rápido do que remover coletas fragmentadas com db.collection.remove(). Utilize somente a abordagem remove() se você deseja evitar limpar o cache.

Alterado na versão 4,2.

db.collection.drop() obtém um bloqueio exclusivo na coleção especificada durante a operação. Todas as operações subsequentes na coleção devem aguardar até que db.collection.drop() libere o trava.

Antes do MongoDB 4.2, db.collection.drop() obteve uma trava exclusiva no banco de dados pai, bloqueando todas as operações no banco de dados e todas as suas collections até a operação ser concluída.

A operação a seguir descarta a coleção students no banco de dados atual.

db.students.drop()

db.collection.drop() aceita um documento de opções.

A operação a seguir descarta a coleção students no banco de dados atual. A operação usa a write concern 1 :

db.students.drop( { writeConcern: { w: 1 } } )
← db.collection.distinct()