Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Databases

db.dropDatabase() (método mongosh)

db.dropDatabase(<writeConcern>)

Remueve la base de datos actual, borrando los archivos de datos asociados.

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.

El método db.dropDatabase() acepta un parámetro opcional:

Campo
Descripción

writeConcern

opcional. Un documento que exprese el nivel de confirmación de escritura (write concern) a utilizar si es mayor que "majority".

{ w: <value>, j: <boolean>, wtimeout: <number> }

Omita para usar el nivel de confirmación de escritura (write concern) predeterminado/mínimo de "majority".

Cuando se emite en un set de réplicas, si el nivel de confirmación de escritura (write concern) especificado da como resultado un menor reconocimiento entre los nodos que el nivel de confirmación de escritura (write concern) "majority", la operación utiliza "majority". De lo contrario, se utiliza el nivel de confirmación de escritura (write concern) especificado.

Cuando se emite en un clúster fragmentado, MongoDB convierte la preocupación de escritura especificada "majority"a.

Véase también Comportamiento.

El db.dropDatabase() envuelve el dropDatabase comando.

La operación toma un bloqueo exclusivo (X) de la base de datos solamente.

Este comando no elimina a los usuarios asociados a la base de datos actual. Para descartar los usuarios asociados, ejecute el comando dropAllUsersFromDatabase en la base de datos que está borrando.

El método db.dropDatabase() y el comando dropDatabase abortan todas las creaciones de índices en curso en las colecciones de la base de datos de destino antes de eliminar la base de datos. Abortar una creación de índices tiene el mismo efecto que eliminar el índice compilado.

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 abort asociada. 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.

Sets de réplicas

Como mínimo, db.dropDatabase() esperan hasta que todos los descartes de colección en la base de datos se hayan propagado a la mayoría de los miembros del set de réplicas (es decir, usa el nivel de confirmación de escritura (write concern) "majority").

Puede especificar una solicitud de escritura para el método. Si especifica una solicitud de escritura que requiere confirmación de menos de la mayoría, el método utiliza la solicitud de "majority" escritura.

Si especificas un nivel de confirmación de escritura (write concern) que requiere el reconocimiento de más que la mayoría, el método utiliza el nivel de confirmación de escritura (write concern) especificado.

Clústeres fragmentados

Cuando se emite en un clúster fragmentado, MongoDB convierte la preocupación de escritura especificada "majority"a.

Si tienes la intención de crear una nueva base de datos con el mismo nombre que la base de datos descartada, debes ejecutar el comando dropDatabase en un mongos.

Esto garantiza que todos los nodos del clúster actualicen su caché de metadatos, que incluye la ubicación de la partición primaria para la nueva base de datos. De lo contrario, podrías perder datos en las lecturas y no guardar los datos en la partición correcta. Para recuperar, debe intervenir manualmente.

A partir de MongoDB 5.0, el comando dropDatabase y el método db.dropDatabase() devuelven un error si intentas descartar la base de datos admin o la base de datos de configuración de un mongos.

Advertencia

Eliminar la base de datos admin o la base de datos de configuración puede dejar el clúster en un estado inutilizable.

El método db.dropDatabase() y el comando dropDatabase crean un evento de invalidación para cualquier Change Streams abierto en la base de datos eliminada o abierto en las colecciones de la base de datos eliminada.

El siguiente ejemplo en mongosh utiliza la operación use <database> para cambiar la base de datos actual a la base de datos temp y, a continuación, utiliza el método db.dropDatabase() para descartar la base de datos temp:

use temp
db.dropDatabase()

Tip

Volver

db.currentOp

En esta página