To działa dla mnie:
> db.h.insert({x:15})
> db.h.createIndex({x:-1})
> db.h.find().min({x:20}).max({x:10})
{ "_id" : ObjectId("52fb6930253ac3dcf43b27f5"), "x" : 15 }
Twój indeks może mieć z tym problem.
Powodem, dla którego to działa, jest to, że indeks jest odwrotnie.
Wyobraź sobie, że odwracasz listę do góry nogami, co w praktyce oznacza, że min i max to zakres tej listy, gdzie min wynosi 10, a max 20. Jednak ten zakres już nie istnieje, ponieważ lista jest odwrócona do góry nogami. Zamiast tego zakres musi być odwrócony, aby pasował do listy.