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
The db.collection.renameCollection() method operates within a collection by changing the metadata associated with a given collection.
Consulte a documentação renameCollection para obter avisos e mensagens adicionais.
Aviso
The db.collection.renameCollection() method and renameCollection command will invalidate open cursors which interrupts queries that are currently returning data.
For MongoDB Change Streams, the db.collection.renameCollection() method and renameCollection command create an invalidate Event for any existing MongoDB Change Streams opened on the source or target collection.
O método tem as seguintes limitações:
db.collection.renameCollection()cannot move a collection between databases. UserenameCollectionfor these rename operations.Não é possível renomear visualizações.
db.collection.renameCollection()is not supported on time series collections.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() obtains an exclusive lock on the source and target collections for the duration of the operation. All subsequent operations on the collections must wait until renameCollection() completes.
Interação com mongodump
A mongodump started with --oplog fails if a client issues db.collection.renameCollection() during the dump process. See mongodump.--oplog for more information.
Exemplo
Call the db.collection.renameCollection() method on a collection object. For example:
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á.