| |
read source history
= findOneAndUpdate() =
----
[[MongoDB Driver Function Reference]]
Updates a single document based on the specified filter returning the replaced document.
More information can be found in the corresponding entry of the [[https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/index.html|MongoDB Manual]].
[[[@cG
<collection>.findOneAndUpdate(<filter>, <update>[, <options>])
]]]
**Arguments**
[[[@w
|@t0@r0@c0 <collection> | | The target collection. |
| <filter> | | A filter expression using [[https://docs.mongodb.com/manual/reference/operator/|query operators]]. |
| <replacement> | | A BSON document containing updates. |
| <options> | | A BOSN document specifying options. |
]]]
**Options**
[[[@cw
{ arrayfilters: <document>, projection: <document>, sort: <document>, upsert: <boolean>, maxtime: <long>,
collation: <document>, hint: <document> }
<<@f:text>>
|@t0@r0@c0 arrayFilters | | An array of filter documents that determine which array elements to modify for an update operation on an array field. |
| projection | | Defines a subset of fields to return. |
| sort | | Specifies a sort order. |
| upsert | | Toggles an upsert. |
| maxtime | | Specifies a time limit in milliseconds. |
| collation| | A document specifying the [[https://docs.mongodb.com/manual/reference/bson-type-comparison-order/#collation|collation]]. |
| hint | | A document specifying a [[https://docs.mongodb.com/manual/reference/method/db.collection.deleteMany/#ex-deletemany-hint|hint]]. |
<<@/f>>
]]]
**Example**
[[[@cw
db.employees.findOneAndUpdate({ salary: { $gt: 700000 }}, { $set: { bonus: 50000 }}, { sort: { age: 1 }});
]]]
Finds documents from the employee collection with a salary greater than 700000, sorts them by age, then updates the first document in the result.
----
[[Main|home]] | [[MongoDB Driver Function Reference]] | [[MongoDB Driver]]
|