sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:comportamiento extraño del índice descendente

Esto funciona para mí:

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

Su índice podría tener un problema con él.

La razón por la que esto funciona es porque el índice es al revés.

Imagina que le das la vuelta a una lista, lo que min y max dicen efectivamente es obtener un rango de esa lista con el mínimo de 10 y el máximo de 20. Sin embargo, ese rango ya no existe porque la lista está al revés. En su lugar, el rango debe invertirse para que coincida con la lista.