PRIMARY: Queries are sent to the primary of the replica set. PRIMARY_PREFERRED: Queries are sent to the primary if available, otherwise a secondary. SECONDARY: Queries are distributed among secondaries. An error is raised if no secondaries are available. SECONDARY_PREFERRED: Queries are distributed among secondaries, or the primary if no secondary is available. NEAREST: Queries are distributed among all members.