MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB não está usando meu índice


Os índices regulares do mongodb usam tanto o valor do campo quanto o tipo para construir a árvore.

Consultas como $empty: true ou $ne: null não tem um parâmetro de nenhum tipo e não pode se beneficiar de tais índices. É um caso especial e requer um índice esparso especial .

Se seu [email protected]_1 índice é criado como:
db.getCollection('logs.res').createIndex(
    {
        "timeStamp" : -1,
        "[email protected]" : 1
    },
    { sparse: true }
)

Ele deve suportar melhor sua consulta. Caso contrário, não há muita diferença entre [email protected]_1 e timeStamp_1_module_1_etc já que o único primeiro campo está sendo usado.