Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.collection.renameCollection()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Exemplo

MongoDB com drivers

Esta página documenta um método mongosh. Para ver o método equivalente em um driver MongoDB, consulte a página correspondente da sua linguagem de programação:

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.renameCollection(target, dropTarget)

Renomeia uma coleção. Fornece um wrapper para o comando renameCollection database command.

Parâmetro
Tipo
Descrição
target
string
O novo nome da coleção. Coloque a string entre aspas. Consulte Restrições de nomenclatura.
dropTarget
booleano
Opcional. Se true, mongod elimina o target de renameCollection antes de renomear a collection. O valor padrão é false.

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

O método db.collection.renameCollection() opera dentro de uma coleção alterando os metadados associados com uma determinada coleção.

Consulte a documentação renameCollection para obter avisos e mensagens adicionais.

Aviso

O método db.collection.renameCollection() e o comandorenameCollection invalidam cursores abertos. Isso cria um evento inválido para quaisquer fluxos de alterações existentes abertos na coleção de origem ou destino e também interromper consultas que estejam retornando dados no momento da coleção renomado.

  • O método tem as seguintes limitações:

    • db.collection.renameCollection() não pode mover uma coleção entre bancos de dados. Use renameCollection para essas operações de renomeação.

    • Não é possível renomear visualizações.

    • db.collection.renameCollection() não é suportado em coleções de séries temporais.

    • Você não pode renomear uma collection para si mesma. Se você tentar renomear uma collection para si mesma, um erro IllegalOperation será gerado.

Alterado na versão 5.0.

Ao renomear uma collection fragmentada ou não fragmentada em um cluster fragmentado, as collections de origem e de destino são bloqueadas exclusivamente em cada shard. As operações subsequentes nas collections de origem e de destino devem aguardar até que a operação de renomeação seja concluída.

Para obter mais informações sobre bloqueios no MongoDB, consulte as Perguntas frequentes: simultaneidade.

renameCollection() obtém um bloqueio exclusivo nas coleções de origem e destino durante a operação. Todas as operações subsequentes nas coleções devem aguardar até que renameCollection() seja concluído.

Um mongodump iniciado com --oplog falhará se um cliente emitir db.collection.renameCollection() durante o processo de despejo. Consulte mongodump.--oplog para obter mais informações.

Você pode chamar o método db.collection.renameCollection() em um objeto de coleção. Por exemplo:

db.rrecord.renameCollection("record")

Esta operação renomeará a coleção rrecord para record. Se o nome do destino (ou seja record) é o nome de uma coleção existente, então a operação falhará.

Voltar

db.collection.remove