- Reference >
- Database Commands >
- Administration Commands >
- dropDatabase
dropDatabase¶
On this page
Definition¶
-
dropDatabase¶ The
dropDatabasecommand drops the current database, deleting the associated data files.The command has the following form:
The command takes the following optional field:
Field Description writeConcern Optional. A document expressing the write concern of the dropcommand. Omit to use the default write concern.The
mongoshell also provides the helper methoddb.dropDatabase().
Behavior¶
Locks¶
Starting in versions 3.6, the operation takes an exclusive (X) database lock while dropping the collections in the database but a global lock when dropping the now-empty database.
User Management¶
Changed in version 2.6: This command does not delete the
users associated with the current
database. To drop the associated users, run the
dropAllUsersFromDatabase command in the database you are
deleting.
Replica Set and Sharded Clusters¶
Changed in version 3.6: dropDatabase waits until all collections drops in the
database have propagated to a majority of the replica set members.
Warning
If you drop a database and create a new database with the same name, you
must either restart all mongos instances, or use the
flushRouterConfig command on all mongos
instances before reading or writing to that database. This action
ensures that the mongos instances refresh their
metadata cache, including the location of the primary shard for the new database. Otherwise, the
mongos may miss data on reads and may write data to a wrong shard.
Example¶
The following example in the mongo shell 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:
See also