MongoDB con controladores
Esta página documenta a mongosh . Para ver el método equivalente en un driver de MongoDB, se debe consultar la página correspondiente al lenguaje de programación:
Definición
db.collection.renameCollection(target, dropTarget)Renombra una colección. Proporciona un contenedor para la
renameCollectioncomando de base de datos.ParameterTipoDescripcióntargetstring
El nuevo nombre de la colección. Encierra la string entre comillas. Consulta restricciones de nomenclatura.
dropTargetbooleano
opcional. Si
true,mongoddescarta eltargetderenameCollectionantes de renombrar la colección. El valor por defecto esfalse.
Comportamiento
El método db.collection.renameCollection() opera dentro de una colección al cambiar los metadatos asociados con una colección 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 que interrumpen las consultas que actualmente están devolviendo datos.
Para Change Streams, el db.collection.renameCollection() método y el renameCollection comando crean un evento de invalidación para cualquier Change Streams abierto existente 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. UtilizarenameCollectionpara estas operaciones de cambio de nombre.No puede cambiar el nombre de vistas.
db.collection.renameCollection()no está habilitado en las 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
Modificado 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() obtiene un bloqueo exclusivo en las colecciones de origen y destino durante la operación. Todas las operaciones posteriores en las colecciones deben esperar hasta que se renameCollection() complete.
Interacción con mongodump
Un mongodump iniciado con --oplog falla si un cliente emite db.collection.renameCollection() durante el proceso de vaciado. Consulta mongodump.--oplog para obtener más información.
Ejemplo
Llama al método db.collection.renameCollection() en un objeto de colección. Por 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á.