Si è imbattuto in un problema molto simile e il Indexing Consigli e domande frequenti su Mongodb.org dice, cita:
Quindi, se hai le chiavi a, b e c ed esegui db.ensureIndex({a:1, b:1, c:1}), queste sono le "linee guida" per utilizzare l'indice il più possibile:
Bene:
-
trova(a=1,b>2)
-
trova(a>1 e a<10)
-
trova(a>1 e a<10).sort(a)
Cattivo:
- trova(a>1, b=2)
-
trova(a=1,b=2).sort(c)
-
trova(a=1,b>2)
-
trova(a=1,b>2 e b<4)
-
trova(a=1,b>2).sort(b)
Cattivo:
-
trova(a>1,b>2)
-
trova(a=1,b>2).sort(c)
Spero che ti aiuti!
/J