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:
primary.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.
"local" for reads against the primary. See also:
Transactions support the following read concern levels:
"local""local" returns the most recent data available from the node but can be rolled back."local" read concern cannot guarantee that the data is from the same snapshot view across the shards. If snapshot isolation is required, use "snapshot" read concern."majority""majority" returns data that has been acknowledged by a majority of the replica set members (i.e. data cannot be rolled back) if the transaction commits with write concern “majority”."majority" read concern provides no guarantees that read operations read majority-committed data."majority" read concern cannot guarantee that the data is from the same snapshot view across the shards. If snapshot isolation is required, use "snapshot" read concern."snapshot"