MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - странно поведение на низходящ индекс

Това работи за мен:

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

Вашият индекс може да има проблем с него.

Причината това да работи е, че индексът е обратното.

Представете си, че обръщате списък на главата му, това, което min и max ефективно казват, е да получите диапазон от този списък, като min е 10, а max е 20. Този диапазон обаче вече не съществува, тъй като списъкът е обърнат с главата надолу. Вместо това диапазонът трябва да бъде обърнат, за да съответства на списъка.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Съхраняване на java 8 LocalDate в mongo DB

  2. Кога съставните индекси все още са актуални в MongoDB 2.6, предвид новата функция за пресичане на индекси?

  3. mongod, mac os x - rlimits предупреждение

  4. Причини за и против преминаването от SQL сървър към MongoDB

  5. mongodb Java драйвер - $група с множество полета