Navigation
This version of the manual is no longer supported.

db.collection.remove()

db.collection.remove(query, justOne)

The remove method removes documents from a collection.

The remove() method can take the following parameters:

Parameters:
  • query (document) – Optional. Specifies the deletion criteria using query operators. Omit the query parameter or pass an empty document (e.g. {} ) to delete all documents in the collection.
  • justOne (boolean) – Optional. A boolean that limits the deletion to just one document. The default value is false. Set to true to delete only the first result.

Note

You cannot use the remove() method with a capped collection.

Consider the following examples of the remove method.

  • To remove all documents in a collection, call the remove method with no parameters:

    db.products.remove()
    

    This operation will remove all the documents from the collection products.

  • To remove the documents that match a deletion criteria, call the remove method with the query criteria:

    db.products.remove( { qty: { $gt: 20 } } )
    

    This operation removes all the documents from the collection products where qty is greater than 20.

  • To remove the first document that match a deletion criteria, call the remove method with the query criteria and the justOne parameter set to true or 1:

    db.products.remove( { qty: { $gt: 20 } }, true )
    

    This operation removes the first document from the collection products where qty is greater than 20.

Note

When removing multiple documents, the remove operation may interleave with other read and/or write operations to the collection. For unsharded collections, you can override this behavior with the $isolated operator, which “isolates” the remove operation and disallows yielding during the operation. This ensures that no client can see the affected documents until they are all processed or an error stops the remove operation. To isolate the query, include $isolated: 1 in the query parameter as in the following example:

db.products.remove( { qty: { $gt: 20 }, $isolated: 1 } )