upsertOne
abstract fun upsertOne(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 update.
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.upsertOne(
filter = {
User::name eq "Patrick"
},
update = {
User::age set 15
},
)
Content copied to clipboard
If a document exists that has the name
of "Patrick", its age is set to 15. If none exists, a document with name
"Patrick" and age
15 is created.
Using filtered collections
The following code is equivalent:
collection.filter {
User::name eq "Patrick"
}.upsertOne {
User::age set 15
}
Content copied to clipboard
To learn more, see filter.