- Reference >
mongo
Shell Methods >- Collection Methods >
- db.collection.findOneAndDelete()
db.collection.findOneAndDelete()¶
On this page
Definition¶
-
db.collection.
findOneAndDelete
(filter, options)¶ New in version 3.2.
Deletes a single document based on the
filter
andsort
criteria, returning the deleted document.The
findOneAndDelete()
method has the following form:The
findOneAndDelete()
method takes the following parameters:Parameter Type Description filter
document The selection criteria for the update. The same query selectors as in the
find()
method are available.Specify an empty document
{ }
to delete the first document returned in the collection.projection
document Optional. A subset of fields to return.
To return all fields in the returned document, omit this parameter.
sort
document Optional. Specifies a sorting order for the documents matched by the
filter
.See
cursor.sort()
.maxTimeMS
number Optional. Specifies a time limit in milliseconds within which the operation must complete within. Throws an error if the limit is exceeded. Returns: Returns the deleted document.
Behavior¶
findOneAndDelete()
deletes the first matching
document in the collection that matches the filter
.
The sort
parameter can be used to influence which document is updated.
The projection
parameter takes a document in the following form:
The <boolean>
value can be any of the following:
1
ortrue
to include the field. The method returns the_id
field even if it is not explicitly stated in the projection parameter.0
orfalse
to exclude the field. This can be used on any field, including_id
.
Examples¶
Delete A Document¶
The grades
collection contains documents similar to the following:
The following operation finds the first document where name : M. Tagnum
and deletes it:
The operation returns the original document that has been deleted:
Sort And Delete A Document¶
The grades
collection contains documents similar to the following:
The following operation first finds all documents where
name : "A. MacDyver"
. It then sorts by points
ascending before
deleting the document with the lowest points value:
The operation returns the original document that has been deleted:
Projecting the Deleted Document¶
The following operation uses projection to only return the _id
and
assignment
fields in the returned document:
The operation returns the original document with the
assignment
and _id
fields:
Update Document with Time Limit¶
The following operation sets a 5ms time limit to complete the deletion:
If the operation exceeds the time limit, it returns: