When performing a find with two filters on the same indexed date field, a reverse sort on that same date field will cause an assertion:
Assertion failure fieldsToExplode >= 1 src/mongo/db/query/planner_analysis.cpp 132
Example:
db.Coll.ensureIndex({"SomeDate.423.X": 1}) db.Coll.find({ $or: [ { "SomeDate.423.X": { $gte: new Date(1388534400000), $lt: new Date(1420070400000) } }, { "SomeDate.423.X": { $gte: new Date(1356998400000), $lt: new Date(1388534400000) } } ] }).sort({ "SomeDate.423.X": -1 })