Deleting documents works similarly to finding documents. We need to find documents and then apply the delete operation.
For example, with our books collection used before, we can issue:
@collection.find( { isbn: '101' } ).delete_one
This will delete a single document. In our case, since isbn is unique for every document, this is expected. If our find() clause had matched multiple documents, then delete_one would have deleted just the first one that find() returns, which may or may not be what we want.
If we use delete_one with a query matching multiple documents, the results may be unexpected.
If we want to delete all documents matching our find() query, we have to use delete_many, like this:
@collection.find( { price: { $gte: 30 } ).delete_many
In the preceding example, we are deleting all books that have a price greater than or equal to 30.