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.
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 |
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Compatibilidad con Stable API
A partir de MongoDB 8.1, renameCollection se incluye en la versión V1 de la Stable API. Para utilizar renameCollection en la Stable API, debes conectar tu driver a una implementación que esté ejecutando MongoDB 8.1 o superior.
Comportamiento
El método db.collection.renameCollection() opera dentro de una colección cambiando los metadatos asociados a una colección dada.
Consulte la documentación renameCollection para advertencias y mensajes adicionales.
Advertencia
El db.collection.renameCollection() método y renameCollection el comando invalidan los cursores abiertos. Esto crea un evento de invalidación para cualquier flujo de cambios existente abierto en la colección de origen o destino, y también interrumpe las consultas que devuelven datos de la colección renombrada.
El método tiene las siguientes limitaciones:
db.collection.renameCollection()no se 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
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 falla si un cliente --oplog emite db.collection.renameCollection() durante el proceso de volcado. Consulte para obtener más mongodump.--oplog información.
Ejemplo
Llamar 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á.