Q: MongoDB Compound Indexes I have a collection of documents that look like this:
{
  location: { type: "Point", coordinates: [-76, 42 }, 
  serial: "as23ksfda",
  topic: "rainbows",
  date: ISODate("2017-01-01T04:35:12-04:00")
}

I want to run queries that are conditioned on:


*

*date (a range, i.e. $and: [{$gt: ISODate("2017-01-01T04:30:21-04:00")}, {$lt:ISODate("2017-02-01T04:30:21-04:00")}]) and serial

*date and topic

*date and serial and location (i.e. $near: {$geometry: etc... })

*date and topic and location


In other words:


*

*date is always involved

*either serial or topic is always involved

*location is optional


Given this information, I'd like to create an appropriate set of indexes on the collection so that I get good query performance (obviously without badly impacting write performance, the usual indexing tradeoff). 
If I, for example, create:
db.collection.createIndex({
  serial: 1, 
  date: 1,
  location: "2dsphere"
})

... should I also create an additional index to support my desired set of queries (that do not include location)? e.g.:
db.collection.createIndex({
  serial: 1, 
  date: 1
})

...or is that gratuitous and not helpful?
