Docs Menu

Docs HomeDevelop ApplicationsMongoDB Manual

drop

On this page

  • Definition
  • Syntax
  • Command Fields
  • Behavior
drop

The drop command removes an entire collection from a database.

Tip

In mongosh, this command can also be run through the drop() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

The command has following syntax:

db.runCommand(
{
drop: <collection_name>,
writeConcern: <document>,
comment: <any>
}
)

The command takes the following fields:

Field
Description
drop
The name of the collection to drop.
writeConcern

Optional. A document expressing the write concern of the drop command. Omit to use the default write concern.

When issued on a sharded cluster, mongos converts the write concern of the drop command and its helper db.collection.drop() to "majority".

comment

Optional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:

A comment can be any valid BSON type (string, integer, object, array, etc).

New in version 4.4.

mongosh provides the equivalent helper method db.collection.drop().

  • Starting in MongoDB 5.0, the drop command and the db.collection.drop() method will raise an error if passed an unrecognized parameter. In MongoDB 4.4 and earlier, unrecognized parameters are silently ignored.

  • This command also removes any indexes associated with the dropped collection.

  • Starting in MongoDB 4.4, the db.collection.drop() method and drop command abort any in-progress index builds on the target collection before dropping the collection. Prior to MongoDB 4.4, attempting to drop a collection with in-progress index builds results in an error, and the collection is not dropped.

    For replica sets or shard replica sets, aborting an index on the primary does not simultaneously abort secondary index builds. MongoDB attempts to abort the in-progress builds for the specified indexes on the primary and if successful creates an associated abort oplog entry. Secondary members with replicated in-progress builds wait for a commit or abort oplog entry from the primary before either committing or aborting the index build.

  • The drop command and its helper db.collection.drop() create an invalidate for any Change Streams opened on the dropped collection.

  • Dropping a collection deletes its associated zone/tag ranges.

  • Starting in MongoDB 5.0, the drop command and the db.collection.drop() method return an error if you try to drop a collection in the admin database or the config database from a mongos. To drop these collections, connect to the config server and run the command there.

    Warning

    Dropping collections in the admin database or the config database can leave your cluster in an unusable state.

Changed in version 4.2.

drop obtains an exclusive lock on the specified collection for the duration of the operation. All subsequent operations on the collection must wait until drop releases the lock.

Prior to MongoDB 4.2, drop obtained an exclusive lock on the parent database, blocking all operations on the database and all its collections until the operation completed.

←  currentOpdropDatabase →