As part of our mongo cluster, we have a hidden node that the analytics people use for reporting. Their queries are quite a bit different than the ones that our main application is optimized for.

We can improve the performance of their queries quite dramatically by adding certain indexes, which are relatively expensive to compute, and take a fair amount of memory. Those indexes should not be used by any of the queries running on our primary and secondary members, so it seems a bit silly to spend time and memory on the main replica set members to compute and keep the reporting indexes in memory.

Is there a way to create an index so that it only exists on a single replica set member? Is there a way to tell my primary and secondary nodes to not compute or store the indexes I know they will not use?

Edit
Report