MongoDB com drivers
Definição
db.collection.renameCollection(target, dropTarget)Renomeia uma coleção. Fornece um wrapper para o comando do banco de dados
renameCollection.
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
| string | O novo nome da coleção. Coloque a string entre aspas. Consulte Restrições de nomenclatura. |
| booleano | Opcional. Se |
Comportamento
O método opera dentro de uma coleção alterando os metadados associados com uma determinada db.collection.renameCollection() coleção.
Consulte a documentação renameCollection para obter avisos e mensagens adicionais.
Aviso
O db.collection.renameCollection() método e renameCollection o comando invalidarão os cursores abertos, o que interrompe as queries que estão retornando dados no momento.
Para Change Streams do MongoDB, o db.collection.renameCollection() método e renameCollection o comando criam um evento de invalidação para qualquer Change Streams do MongoDB existente aberto na coleção de origem ou de destino.
O método tem as seguintes limitações:
db.collection.renameCollection()não é possível mover uma collection entre bancos de dados. Use para essas operações derenameCollectionrenomeaçã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
IllegalOperationserá gerado.
Bloqueio de recursos em clusters fragmentados
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.
Bloqueio de recursos em conjuntos de réplicas
renameCollection() obtém um bloqueio exclusivo nas collections de origem e destino durante a operação. Todas as operações subsequentes nas collections devem esperar até que seja renameCollection() concluído.
Interação com mongodump
Um mongodump iniciado com falha --oplog se um cliente emitir durante o db.collection.renameCollection() mongodump.--oplog processo de despejo. Consulte para mais informações.
Exemplo
Chame o método em um objeto de coleção. Por db.collection.renameCollection() 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á.