writeConcern
Specifies the WriteConcern for this operation.
The write concern specifies which nodes must acknowledge having applied this write operation. The stronger the write concern, the less chance of data loss, but the higher the latency.
To learn more about the different options, see:
WriteConcern.acknowledgment: how many nodes should acknowledge this request?
WriteConcern.writeToJournal: should the nodes also acknowledge synchronizing their journal?
WriteConcern.writeTimeout: after how long should we give up on the acknowledgment, if it doesn't succeed?
Example
collections.updateMany(
options = {
writeConcern(WriteConcern(Majority, writeTimeout = 2.seconds))
}
) {
User::age inc 1
}
Convenience helpers
For convenience of the most common scenarii, KtMongo provides the following helpers:
WriteConcern.Majority: requests strong acknowledgment from the majority of nodes.
WriteConcern.Primary: requests weak acknowledgement from the primary node.
WriteConcern.FireAndForget: requests no acknowledgement at all.
Transactions
In multi-document transactions, only specify a write concern at the transaction level, and not at the level of individual operation.