MongoDB con controladores
Definición
db.collection.drop(<options>)Remueve una colección o vista de la base de datos. El método también remueve cualquier índice asociado con la colección descartada.
drop()es un contenedor alrededor del comandodrop.Devuelve: true
Nota
Si la colección especificada no existe, db.collection.drop() aún devuelve true.
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 la compatibilidad de Atlas con 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.
Sintaxis
El método drop() tiene la siguiente forma:
db.collection.drop( { writeConcern: <document> } )
El método drop() acepta un documento opcional con el siguiente campo:
Campo | Descripción |
|---|---|
writeConcern | opcional. Un documento que expresa el nivel de confirmación de escritura (write concern) de la operación Cuando se ejecuta en un clúster fragmentado, |
Comportamiento
El método
drop()y el comandodropcrean un evento de invalidación para cualquier Change Streams abierto en la colección descartada.El
db.collection.drop()método ydropel comando abortan cualquier creación de índice en curso en la colección de destino antes de eliminar la colección.Para sets de réplicas o sets de réplicas de fragmentos, abortar un índice en el primario no anula simultáneamente las construcciones de índices secundarios. MongoDB intenta abortar las compilaciones en curso para los índices especificados en el primario y, si es exitoso, crea una entrada de oplog
abortasociada. Los miembros secundarios con compilaciones replicadas en progreso esperan una entrada de confirmación o anulación de oplog del primario antes de confirmar o anular la creación de índices.Al descartar una colección, se borran sus rangos de zona/etiqueta asociados.
A partir de MongoDB,5.0 el comando
dropy el método devuelven un error sidb.collection.drop()intenta eliminar una colección en la base de datos de administración o en la base de datos de configuración desde un. Para eliminarmongosestas colecciones, conéctese al servidor de configuración y ejecute el comando allí.Advertencia
Eliminar colecciones en la base de datos admin o en la base de datos de configuración puede dejar su clúster en un estado inutilizable.
A partir de MongoDB 6.0,
drop()descarta la colección especificada y cualquier colección interna relacionada con campos cifrados.Importante
El comportamiento del método
mongoshdrop()difiere del comportamiento del métododropdel driver. La conexión del driver debe tener el cifrado automático activado para descartar tanto la colección especificada como cualquier colección interna relacionada con los campos cifrados.mongoshsiempre descarta la colección especificada y cualquier colección interna relacionada con los campos cifrados.
Reutilización de nombres de colecciones descartadas en clústeres particionados
Para un clúster particionado que ejecuta MongoDB 5.0 o posterior, no se requiere ninguna acción especial. Utilice el método drop() y luego cree una nueva colección con el mismo nombre.
Bloqueo de recursos
db.collection.drop() obtiene un bloqueo exclusivo sobre la colección especificada durante la duración de la operación. Todas las operaciones posteriores sobre la colección deben esperar hasta que libere el db.collection.drop() bloqueo.
Ejemplo
Descartar una colección utilizando el nivel de confirmación de escritura (write concern) por defecto
La siguiente operación descarta la colección students en la base de datos actual.
db.students.drop()
Descartar una colección usando el nivel de confirmación de escritura (write concern) w: 1
La siguiente operación descarta la colección students en la base de datos actual. La operación utiliza el nivel de confirmación de escritura (write concern) de 1:
db.students.drop( { writeConcern: { w: 1, j: true } } )