Reguliere mongodb-indexen gebruiken zowel de veldwaarde als het type om de boomstructuur te bouwen.
Zoekopdrachten zoals $empty: true of $ne: null hebben geen enkele parameter en kunnen niet profiteren van dergelijke indexen. Het is een speciaal geval en vereist een speciale sparse index
.
Als uw example@sqldat.com_1 index is gemaakt als:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"example@sqldat.com" : 1
},
{ sparse: true }
)
Het zou uw vraag het beste moeten ondersteunen. Anders is er niet veel verschil tussen example@sqldat.com_1 en timeStamp_1_module_1_etc aangezien het enige eerste veld wordt gebruikt.