transaction

inline suspend fun <T> ClientSession.transaction(options: TransactionOptions.Builder.() -> Unit = {}, fn: suspend (session: ClientSession) -> T): Result<T>(source)

Automatically starts a transaction, commits if no exceptions are thrown and aborts the transaction otherwise.

See also

ClientSession.startTransaction
ClientSession.commitTransaction
ClientSession.abortTransaction