Skip to content

MongoDB driver for Kotlin (synchronous)opensavvy.ktmongo.syncJvmMongoCollectionfindOneAndUpdate

findOneAndUpdate

open override fun findOneAndUpdate(options: UpdateOptions<Document>.() -> Unit, filter: FilterQuery<Document>.() -> Unit, update: UpdateQuery<Document>.() -> Unit): Document?

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