Das funktioniert bei mir:
> db.h.insert({x:15})
> db.h.createIndex({x:-1})
> db.h.find().min({x:20}).max({x:10})
{ "_id" : ObjectId("52fb6930253ac3dcf43b27f5"), "x" : 15 }
Ihr Index könnte damit ein Problem haben.
Das funktioniert, weil der Index umgekehrt ist.
Stellen Sie sich vor, Sie stellen eine Liste auf den Kopf. Min und Max sagen effektiv aus, dass Sie einen Bereich dieser Liste erhalten, wobei das Minimum 10 und das Maximum 20 beträgt. Dieser Bereich existiert jedoch nicht mehr, da die Liste auf dem Kopf steht. Stattdessen muss der Bereich umgekehrt werden, um mit der Liste übereinzustimmen.