Docs Menu
Docs Home
/ /
Databases

db.dropDatabase() (método mongosh)

db.dropDatabase(<writeConcern>)

Elimina 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 toma un parámetro db.dropDatabase() opcional:

Campo
Descripción

writeConcern

Opcional. Un documento que expresa la preocupación de escritura a utilizar si es mayor "majority" que.

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

Omitir el uso de la preocupación de escritura mínima/predeterminada "majority" de.

Al ejecutarse en un conjunto de réplicas, si la solicitud de escritura especificada genera menos confirmaciones de miembro que la solicitud de "majority" escritura, la operación "majority" utiliza. De lo contrario, se utiliza la solicitud de escritura especificada.

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 solo toma un bloqueo de base de datos exclusivo (X).

Este comando no elimina los usuarios asociados a la base de datos actual. Para eliminarlos, ejecute el comando en la base de datos que va a dropAllUsersFromDatabase eliminar.

El db.dropDatabase() método y dropDatabase el comando cancelan cualquier compilación de índice en curso en colecciones de la base de datos de destino antes de eliminar la base de datos. Cancelar la compilación de un índice tiene el mismo efecto que eliminar el índice creado.

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, espera hasta que todas las colecciones en la base de datos se hayan propagadodb.dropDatabase() "majority" a la mayoría de los miembros del conjunto de réplicas (es decir, utiliza la preocupación de escritura).

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 especifica una inquietud de escritura que requiere el reconocimiento de más de la mayoría, el método utiliza la inquietud de escritura especificada.

Clústeres fragmentados

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

Si desea crear una nueva base de datos con el mismo nombre que la base de datos eliminada, debe ejecutar el comando dropDatabase en mongos un.

Esto garantiza que todos los nodos del clúster actualicen su caché de metadatos, que incluye la ubicación del fragmento principal de la nueva base de datos. De lo contrario, podría perder datos durante las lecturas y no escribirlos en el fragmento correcto. Para recuperarlos, deberá 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 db.dropDatabase() método y dropDatabase el comando crean un evento de invalidación para cualquier flujo de cambio 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