upsertOneWithPipeline

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

Updates a single document that matches filter according to the update pipeline.

If multiple documents match filter, only the first one is updated.

If no documents match filter, a new one is created.

Example

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

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

External resources

See also

Do nothing if the document doesn't already exist.