Wpadłem na bardzo podobny problem i Indeksowanie Porady i często zadawane pytania na Mongodb.org mówi, cytuję:
Więc jeśli masz klucze a,b i ci uruchomisz db.ensureIndex({a:1, b:1, c:1}), oto "wytyczne", aby używać indeksu tak często, jak to możliwe:
Dobrze:
-
znajdź(a=1,b>2)
-
znajdź(a>1 i a<10)
-
znajdź(a>1 i a<10).sort(a)
Źle:
- znajdź(a>1, b=2)
-
znajdź(a=1,b=2).sortuj(c)
-
znajdź(a=1,b>2)
-
znajdź(a=1,b>2 i b<4)
-
znajdź(a=1,b>2).sort(b)
Źle:
-
znajdź(a>1,b>2)
-
znajdź(a=1,b>2).sort(c)
Mam nadzieję, że to pomoże!
/J