sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB no usa mi índice

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.