Stöt på ett mycket liknande problem, och Indexering Råd och vanliga frågor på Mongodb.org säger, citat:
Så om du har nycklarna a,b och c och kör db.ensureIndex({a:1, b:1, c:1}), är dessa "riktlinjer" för att använda indexet så mycket som möjligt:
Bra:
-
hitta(a=1,b>2)
-
find(a>1 och a<10)
-
find(a>1 och a<10).sort(a)
Dåligt:
- hitta(a>1, b=2)
-
find(a=1,b=2).sort(c)
-
hitta(a=1,b>2)
-
find(a=1,b>2 och b<4)
-
find(a=1,b>2).sort(b)
Dåligt:
-
hitta(a>1,b>2)
-
find(a=1,b>2).sort(c)
Hoppas det hjälper!
/J