Mongodb Products schema with proper indexes
Based on your requirements, following is the solutions:


You must find the frequent query areas. At initial lookup it looks like  adding an index for each of the use case is good idea. But you may need to revise it over the period of time and observation of index utilization. Following statement from the official document describes the most important point about the cost of indexing: 


  Before you build indexes, map out the types of queries you will run so that you can build indexes that reference those fields. Indexes come with a performance cost, but are more than worth the cost for frequent queries on large data set. Consider the relative frequency of each query in the application and whether the query justifies an index.


You can find more details here.
You are correct on this point.