Vanliga mongodb-index använder både fältvärde och typ för att bygga trädet.
Frågor som $empty: true
eller $ne: null
har inte en parameter av någon typ och kan inte dra nytta av sådana index. Det är ett specialfall och kräver ett speciellt glesare index
.
Om din [email protected]_1
index skapas som:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"[email protected]" : 1
},
{ sparse: true }
)
Det bör stödja din fråga bäst. Annars är det ingen stor skillnad mellan [email protected]_1
och timeStamp_1_module_1_etc
eftersom det enda första fältet används.