MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - comportement étrange de l'index décroissant

Cela fonctionne pour moi :

> db.h.insert({x:15})
> db.h.createIndex({x:-1})
> db.h.find().min({x:20}).max({x:10})
{ "_id" : ObjectId("52fb6930253ac3dcf43b27f5"), "x" : 15 }

Votre index pourrait avoir un problème avec cela.

La raison pour laquelle cela fonctionne est que l'index est dans l'autre sens.

Imaginez que vous renversiez une liste, ce que min et max disent effectivement, c'est obtenir une plage de cette liste avec le min étant de 10 et le max de 20. Cependant, cette plage n'existe plus puisque la liste est à l'envers. Au lieu de cela, la plage doit être inversée pour correspondre à la liste.