Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

db.collection.renameCollection() (método mongosh)

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 para sua linguagem de programação:
db.collection.renameCollection(target, dropTarget)

Renomeia uma coleção. Fornece um wrapper para o comando do banco de dados renameCollection .

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

A partir do MongoDB 8.1, renameCollection está incluído na API estável V1. Para usar o renameCollection na API estável, você deve conectar seu driver a uma implantação que esteja executando o MongoDB 8.1 ou superior.

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