findOneAndUpdate

abstract fun findOneAndUpdate(options: <Error class: unknown class><Document>.() -> Unit = {}, filter: <Error class: unknown class><Document>.() -> Unit = {}, update: <Error class: unknown class><Document>.() -> Unit): Document?(source)

Updates one element that matches filter according to update and returns it, atomically.

Example

class User(
val name: String,
val age: Int,
)

collection.findOneAndUpdate(
filter = {
User::name eq "Patrick"
},
update = {
User::age set 15
},
)

Using filtered collections

The following code is equivalent:

collection.filter {
User::name eq "Patrick"
}.findOneAndUpdate {
User::age set 15
}

To learn more, see filter.

External resources

Parameters

filter

Optional filter to select which document is updated. If no filter is specified, the first document found is updated.

See also

Update more than one document.

Do not return the value.