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 example@sqldat.com_1 Index wird erstellt als:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"example@sqldat.com" : 1
},
{ sparse: true }
)
Es sollte Ihre Anfrage am besten unterstützen. Ansonsten gibt es keinen großen Unterschied zwischen example@sqldat.com_1 und timeStamp_1_module_1_etc da nur das erste Feld verwendet wird.