- Stitch >
- MongoDB Atlas >
- Reference >
- MongoDB Actions
collection.findOneAndDelete()¶
On this page
Definition¶
-
collection.
findOneAndDelete
()¶
Remove a single document from a collection based on a query filter and
return a document with the same form as the document immediately before
it was deleted. Unlike collection.deleteOne()
, this action
allows you to atomically find and delete a document with the same
command. This avoids the risk of other update operations changing the
document between separate find
and delete operations.
Usage¶
Example¶
- Functions
- JavaScript SDK
- Android SDK
- iOS SDK
To call the collection.findOneAndDelete()
action from a
Function, get a collection handle with
database.collection()
then call the handle’s
findOneAndUpdate()
method.
To call the collection.findOneAndDelete()
action from a
JavaScript SDK, use the
RemoteMongoCollection.findOneAndDelete() method.
To call the collection.findOneAndDelete()
action from the
Java/Android SDK, use the
RemoteMongoCollection.findOneAndDelete() method.
Parameters¶
- Functions
- JavaScript SDK
- Android SDK
- iOS SDK
The collection.findOneAndDelete()
action has the following
form:
Parameter | Description |
---|---|
Query Filter query: <document> |
Required. A standard MongoDB query document that specifies which document to delete. You can use most query selectors except for evaluation, geospatial, or bitwise selectors. If multiple documents match the query, only the first document in sort order or natural order will be updated. |
Delete Options options: <document> |
A document that specifies configuration options for the query.
The |
Sort options.sort: <document> |
Optional. Specifies the query sort order. Sort documents
specify one or more fields to sort on where the value of each
field indicates whether MongoDB should sort it in ascending
( Example The following sort document specifies that documents should be
sorted first by |
Projection options.projection: <document> |
Optional. A document that specifies which fields MongoDB should return or withhold in each document that matches the query. To return all fields in the matching documents, omit this
parameter or specify an empty projection document ( To return specific fields and the document’s To withhold specific fields, specify the fields in the projection
document with a value of Note You may specify either fields to include or fields to withhold
but not both. For example, the following projection is
invalid because it simultaneously includes the The exception to this rule is the |
The findOneAndDelete() method has the following form:
Parameter | Description |
---|---|
Query Filter query: <document> |
Required. A standard MongoDB query document that specifies which document to delete. You can use most query selectors except for evaluation, geospatial, or bitwise selectors. If multiple documents match the query, only the first document in sort order or natural order will be updated. |
Delete Options options: <document> |
A document that specifies configuration options for the query.
The |
Sort options.sort: <document> |
Optional. Specifies the query sort order. Sort documents
specify one or more fields to sort on where the value of each
field indicates whether MongoDB should sort it in ascending
( Example The following sort document specifies that documents should be
sorted first by |
Projection options.projection: <document> |
Optional. A document that specifies which fields MongoDB should return or withhold in each document that matches the query. To return all fields in the matching documents, omit this
parameter or specify an empty projection document ( To return specific fields and the document’s To withhold specific fields, specify the fields in the projection
document with a value of Note You may specify either fields to include or fields to withhold
but not both. For example, the following projection is
invalid because it simultaneously includes the The exception to this rule is the |
The findOneAndDelete() method has the following form:
Parameter | Description |
---|---|
Query Filter filter: <document> |
Required. A standard MongoDB query document that specifies which document to delete. You can use most query selectors except for evaluation, geospatial, or bitwise selectors. If multiple documents match the query, only the first document in sort order or natural order will be deleted. |
Update Options options: <RemoteFindOneAndModifyOptions> |
Optional: An instance of the RemoteFindOneAndModifyOptions.
class. The |
Sort RemoteFindOneAndModifyOptions.sort: <document> |
Optional. Specifies the query sort order. Sort documents
specify one or more fields to sort on where the value of each
field indicates whether MongoDB should sort it in ascending
( Example The following sort document specifies that documents should be
sorted first by |
Projection RemoteFindOneAndModifyOptions.projection: <document> |
Optional. A document that specifies which fields MongoDB should return or withhold in the document returned by the query. To return all fields in the matching document, omit this
parameter or specify an empty projection document ( To return specific fields and the document’s To withhold specific fields, specify the fields in the projection
document with a value of Note You may specify either fields to include or fields to withhold
but not both. For example, the following projection is
invalid because it simultaneously includes the The exception to this rule is the |
Result Class resultClass: <class> |
Optional. Indicates the type of the document returned by the operation. |
Return Value¶
- Functions
- JavaScript SDK
- Android SDK
- iOS SDK
- The
collection.findOneAndDelete()
action returns a :mdn:`Promise <Web/JavaScript/Reference/Global_Objects/Promise>` that resolves to a single document that the query deleted. If no documents match the specified query, the promise resolves to
null
.
The collection.findOneAndDelete()
action returns a Promise that resolves to a
single document that the query deleted. If no documents match the
specified query, the promise resolves to null
.
The findOneAndDelete()
function returns a
Task
containing the deleted document, which can be accessed using
the task.getResult()
method. The type of the result
contained within the
Task
varies based on the configuration of the
RemoteMongoCollection
used for the operation and the value of the resultClass
parameter.
- If
resultClass
is specified, the returned Task contains an object of typeResultT
, which resolves to typeresultClass
. - If a
resultClass
is not specified, the returned Task contains an object of typeDocumentT
, which resolves to typeDocument
unless otherwise specified when the RemoteMongoCollection was instantiated. - If no document matches the provided query, the task will fail
and details can be accessed using
task.getException()
.
The findOneAndDelete
method will call the supplied
completionHandler
with a StitchResult
.