Read preferences, read concern, and collation can be overridden by various sources. In a transaction, read concern and write concern are prohibited in ``opts`` and the read preference must be primary or NULL. The highest-priority sources for these options are listed first in the following table. No write concern is applied.

================== ============== =========
Read Preferences   Read Concern   Collation
================== ============== =========
``read_prefs``     ``opts``       ``opts``
Transaction        Transaction
|opts-source|
================== ============== =========

:ref:`See the example for transactions <mongoc_client_session_start_transaction_example>` and for :ref:`the "distinct" command with opts <mongoc_client_read_command_with_opts_example>`.
