When MongoDB clusters, is the index file stored in the memory of a single computer or in the memory of multiple computers?

  mongodb, question

A MongoDB cluster composed of five computers (one mongos, four Shards), each computer has 10G of memory and 300G of hard disk.
Under this cluster condition, 3000w pieces of data are stored in a collection, and these data are evenly distributed on four shard hard disks according to hash.

1. At this time, how is the index of the colleciton stored? Is it evenly distributed in the memory of four shard according to hash or just stored in the memory of mongos?
2. If I make multiple queries on 3000w pieces of data, MongoDB will cache the queried data in memory, then is the cache of the queried data stored in the memory of four shard or mongos?
Please answer, it would be better if you could refer to the relevant information, thank you.

An index is a piece of data where it is.
The data is in the cache of each slice, mongos just forwards the task and does not perform the actual operation.