After connecting to a replicaset, is there a way to target each member with the same query?

We’re using mongo-driver to connect to a replicaset and we’re able to run the {serverStatus: 1} command against the primary node (hooray!). serverStatus reports different data though depending on if you are on a primary vs a secondary (e.g. opcountersRepl is only set when querying a secondary).
We believe we can use readpreference/readconcern to deterministically connect to a primary node. We believe switching the readconcern will then allow us to non-deterministically connect to one of our secondary nodes, but is there some way to explicitly connect to a given node in the replicaSet without establishing a new direct connection to each?
e.g. is there somewhere in the mongo.Client or a driver cache somewhere which holds the nodes which have been connected to? Is there some method for targeting each node?

Hi @Topher_Sterling,

The MongoDB drivers are intended to route read requests to replica set members based on the configured Read Preference. Typically it “doesn’t matter” which node is targeted (as long as the read preference tags and preference are met) so direct control over which host is selected for a command isn’t exposed. Drivers continually monitor deployments so that if the topology changes (a node goes offline), operations can continue to be automatically routed appropriately to satisfy the read preference without users needing to be aware of the state of the cluster.

As you’ve correctly identified, if there’s a need to consistently target a single host in a replica set via the Go driver, using a Direct Connection would be the way to accomplish this.