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
/ /

dropDatabase (comando de base de datos)

dropDatabase

La dropDatabase El comando descarta la base de datos actual, borrando los archivos de datos asociados.

Este comando 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 comando tiene la siguiente sintaxis:

db.runCommand(
{
dropDatabase: 1,
writeConcern: <document>,
comment: <any>
}
)

El comando toma los siguientes campos opcionales:

Campo
Descripción

writeConcern

opcional. Un documento que exprese la 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.

comment

Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:

Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.).

mongosh también proporciona el método db.dropDatabase() auxiliar.

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 db.dropDatabase() método y el comando dropDatabase finalizan cualquier creación 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 la creación de un índice.

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, dropDatabase espera hasta que todos los descartes de colecciones en la base de datos se hayan propagado a la mayoría de los miembros del set de réplicas (es decir, utiliza el nivel de confirmación de escritura (write concern) "majority").

Si se especifica un nivel de confirmación de escritura (write concern) que requiera reconocimiento de menos que la mayoría, el comando usa un nivel de confirmación de escritura (write concern) "majority".

Si se especifica un nivel de confirmación de escritura (write concern) que requiere la confirmación de más que la mayoría, el comando utilizará 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 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 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 eliminar la base de datos admin o la base de datos de configuración desde 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 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 luego utiliza el comando dropDatabase para descartar la base de datos temp:

use temp
db.runCommand( { dropDatabase: 1 } )

Tip

Volver

descartar

En esta página