Shard key selection based on:
{coarseLocality : 1, search : 1}
coarseLocality is any region that you want for your data, search is a general search for your data.
You should have a pointer to the key that you are plotting, so if you choose a random key that you donβt request, you basically lose the index. Each additional index makes records slower, so it is important to keep as many indexes as possible.
Thus, an increase in the combination of combinations of fragments does not help much.
Excerpt from Christina Chodrow's book, MongoDB Scaling.
source share