MongoDB con controladores
Esta página documenta una 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 API estable1 V. Para usar renameCollection en la API estable, debe conectar su controlador a una implementación que ejecute MongoDB 8.1 o una versión posterior.
Comportamiento
El método db.collection.renameCollection() opera dentro de una colección cambiando los metadatos asociados con una colección determinada.
Consulte la documentación para obtener advertencias y mensajes renameCollection 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 se puede renombrar una colección a sí misma. Si se intenta renombrar una colección a sí misma, se genera un error
IllegalOperation.
Bloqueo de recursos en clústeres fragmentados
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, consulte Preguntas frecuentes: Concurrencia.
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) es el nombre de una colección existente, la operación fallará.