sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB nepoužívá můj index

Běžné indexy mongodb používají k sestavení stromu hodnotu pole i typ.

Dotazy jako $empty: true nebo $ne: null nemají parametr žádného typu a nemohou těžit z takových indexů. Je to speciální případ a vyžaduje speciální řídký index .

Pokud vaše [email protected]_1 index je vytvořen jako:

db.getCollection('logs.res').createIndex(
    {
        "timeStamp" : -1,
        "[email protected]" : 1
    },
    { sparse: true }
)

Mělo by nejlépe podporovat váš dotaz. Jinak mezi [email protected]_1 a timeStamp_1_module_1_etc protože se používá pouze první pole.



  1. Nelze se připojit k mongolab, Getting MongoError:auth failed

  2. jak uvolnit mezipaměť, kterou používá Mongodb?

  3. Zhroucení testu ovladače Mongodb Cxx ve verzi Release [Funguje dobře v ladění]

  4. Zakažte filtrování zastavovacích slov v textovém vyhledávání MongoDB