Los índices regulares de mongodb usan tanto el valor como el tipo de campo para construir el árbol.
Consultas como $empty: true
o $ne: null
no tiene un parámetro de ningún tipo y no puede beneficiarse de dichos índices. Es un caso especial y requiere un índice disperso
especial .
Si su [email protected]_1
el índice se crea como:
db.getCollection('logs.res').createIndex(
{
"timeStamp" : -1,
"[email protected]" : 1
},
{ sparse: true }
)
Debería respaldar mejor su consulta. De lo contrario, no hay mucha diferencia entre [email protected]_1
y timeStamp_1_module_1_etc
ya que el único primer campo está siendo utilizado.