Reguläre Mongodb-Indizes verwenden sowohl den Feldwert als auch den Typ, um den Baum zu erstellen.
Abfragen wie $empty: true
oder $ne: null
haben keinerlei Parameter und können von solchen Indizes nicht profitieren. Dies ist ein Sonderfall und erfordert einen speziellen Sparse-Index
.
Wenn Ihr [email protected]_1
Index wird erstellt als:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"[email protected]" : 1
},
{ sparse: true }
)
Es sollte Ihre Anfrage am besten unterstützen. Ansonsten gibt es keinen großen Unterschied zwischen [email protected]_1
und timeStamp_1_module_1_etc
da nur das erste Feld verwendet wird.