Definición
dropDatabaseThe
dropDatabasecommand drops the current database, deleting the associated data files.
Compatibilidad
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
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
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 comando tiene la siguiente sintaxis:
db.runCommand( { dropDatabase: 1, writeConcern: <document>, comment: <any> } )
Campos de comandos
El comando toma los siguientes campos opcionales:
Campo | Descripción | |
|---|---|---|
| opcional. Un documento que exprese la nivel de confirmación de escritura (write concern) a utilizar si es mayor que Omita para usar el nivel de confirmación de escritura (write concern) predeterminado/mínimo de 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) Cuando se emite en un clúster particionado, MongoDB convierte el nivel de confirmación de escritura especificado en See also Behavior. | |
| 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 also provides the helper method db.dropDatabase().
Comportamiento
Bloqueos
La operación toma un bloqueo exclusivo (X) de la base de datos solamente.
Gestión de usuarios
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.
Indexes
The db.dropDatabase() method and dropDatabase command abort any in-progress index builds on collections in the target database before dropping the database. Aborting an index build has the same effect as dropping the built index.
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.
Set de réplicas y Clusters Fragmentados
- Sets de réplicas
At minimum,
dropDatabasewaits until all collections drops in the database have propagated to a majority of the replica set members (i.e. uses the 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 particionado, MongoDB convierte el nivel de confirmación de escritura especificado en
"majority".If you intend to create a new database with the same name as the dropped database, you must run the
dropDatabasecommand on amongos.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
dropDatabasey el método devuelven undb.dropDatabase()error si intenta eliminar la base de datos admin o la base de datos config desdemongosun.Advertencia
Eliminar la base de datos admin o la base de datos de configuración puede dejar el clúster en un estado inutilizable.
Flujos de cambio
The db.dropDatabase() method and dropDatabase create an invalidate Event for any MongoDB Change Streams opened on the dropped database or opened on the collections in the dropped database.
Ejemplo
The following example in mongosh uses the use <database> operation to switch the current database to the temp database and then uses the dropDatabase command to drop the temp database:
use temp db.runCommand( { dropDatabase: 1 } )