Docs Menu
Docs Home
/ /

dropDatabase (comando de base de datos)

dropDatabase

El dropDatabase El comando elimina la base de datos actual y elimina 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 expresa la preocupación de escritura a utilizar si es mayor que "majority"

{ 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.

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 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 propagadodropDatabase "majority" a la mayoría de los miembros del conjunto de réplicas (es decir, utiliza la preocupación de escritura).

Si especifica una inquietud de escritura que requiere el reconocimiento de menos de la mayoría, el comando utiliza la inquietud de "majority" escritura.

Si especifica una preocupación de escritura que requiere el reconocimiento de más de la mayoría, el comando utiliza la preocupación 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 devuelven un db.dropDatabase() error si intenta eliminar la base de datos de administración o la base de datos de configuración desde mongos un.

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 crean un evento de invalidación para cualquier flujo de cambio abierto en la base de datos eliminada o abierto en las colecciones en la base de datos eliminada.

El siguiente ejemplo en utiliza mongosh la use <database> operación para cambiar la base de datos actual a la temp base de datos y luego utiliza el comando para eliminar dropDatabase la temp base de datos:

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

Tip

Volver

descartar

En esta página