Tag sets allow you to specify custom read preferences and write concerns so that your application can dispatch the operations to specific members.
With tagged servers in your replica set, then you can use a tag-aware Read Preferences.
Let’s suppose that the replica set is configured that way:
Then we can tell ReactiveMongo to query only from the nodes which are tagged with dc: "NYC":
The custom read preferences and write concerns evaluate the tag sets in different ways. Read preferences consider the value of a tag when selecting a member to read from. Write concerns ignore the value of a tag to when selecting a member, except to consider whether or not the value is unique; See MongoDB Read Preference Documentation)