MongoDB con controladores
Definición
db.collection.renameCollection(target, dropTarget)Renombra una colección. Proporciona un contenedor para el
renameCollectioncomando de base de datos.
Parámetros
Parameter | Tipo | Descripción |
|---|---|---|
| string | El nuevo nombre de la colección. Encierra la string entre comillas. Consulta restricciones de nomenclatura. |
| booleano | opcional. Si |
Comportamiento
El método opera dentro de una colección cambiando los metadatos asociados con una colección db.collection.renameCollection() determinada.
Consulte la documentación renameCollection para advertencias y mensajes adicionales.
Advertencia
El db.collection.renameCollection() método y renameCollection el comando invalidarán los cursores abiertos, lo que interrumpe las consultas que actualmente están devolviendo datos.
Para MongoDB Change Streams, el db.collection.renameCollection() método y renameCollection el comando crean un evento de invalidación para cualquier MongoDB Change Stream existente abierto en la colección de origen o destino.
El método tiene las siguientes limitaciones:
db.collection.renameCollection()no puede mover una colección entre bases de datos. UtilicerenameCollectionpara estas operaciones de cambio de nombre.No puede cambiar el nombre de vistas.
db.collection.renameCollection()no es compatible con colecciones de series temporales.No puedes renombrar una colección con el mismo nombre. Si intenta renombrar una colección a sí misma, se lanza un error
IllegalOperation.
Bloqueo de recursos en clústeres compartidos
Cambiado en la versión 5.0.
Al cambiar el nombre de una colección particionada o no particionada en un clúster, las colecciones de origen y destino se bloquean exclusivamente en cada partición. Las operaciones posteriores en las colecciones de origen y destino deben esperar hasta que se complete la operación de cambio de nombre.
Para obtener más información sobre el bloqueo en MongoDB, consulta FAQ: Concurrency.
Bloqueo de recursos en 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.
Interacción con mongodump
Un mongodump iniciado con falla si --oplog un cliente emite durante el proceso de db.collection.renameCollection() mongodump.--oplog volcado. Consulte para obtener más información.
Ejemplo
Llama al método en un objeto de colección. Por db.collection.renameCollection() ejemplo:
db.rrecord.renameCollection("record")
Esta operación cambiará el nombre de la colección rrecord a record. Si el nombre de destino (es decir, record) si es el nombre de una colección existente, la operación fallará.