Transactions and Read Preference

Operations in a transaction use the transaction-level read preference.

Using the drivers, you can set the transaction-level read preference at the transaction start:

Multi-document transactions that contain read operations must use read preference primary. All operations in a given transaction must route to the same member.

Operations in a transaction use the transaction-level read concern. That is, any read concern set at the collection and database level is ignored inside the transaction.

You can set the transaction-level read concern at the transaction start.

Transactions support the following read concern levels:

"local"

"majority"

"snapshot"