Removes documents from a collection.
| Parameter | Type | Description |
|---|---|---|
| query | document | Optional. Specifies deletion criteria using query operators. To delete all documents in a collection, omit this parameter or pass an empty document ({}). |
| justOne | boolean | Optional. To limit the deletion to just one document, set to true. The default value is false. |
Note
You cannot use the remove() method with a capped collection.
The following are 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
If the query argument to the remove() method matches multiple documents in the collection, the delete operation may interleave with other write operations to that collection. For an unsharded collection, you have the option to override this behavior with the $isolated isolation operator, effectively isolating the delete operation and blocking other write operations during the delete. To isolate the query, include $isolated: 1 in the query parameter as in the following example:
db.products.remove( { qty: { $gt: 20 }, $isolated: 1 } )