sql >> Database >  >> NoSQL >> MongoDB

MongoDB gebruikt mijn index niet

Reguliere mongodb-indexen gebruiken zowel de veldwaarde als het type om de boomstructuur te bouwen.

Zoekopdrachten zoals $empty: true of $ne: null hebben geen enkele parameter en kunnen niet profiteren van dergelijke indexen. Het is een speciaal geval en vereist een speciale sparse index .

Als uw [email protected]_1 index is gemaakt als:

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

Het zou uw vraag het beste moeten ondersteunen. Anders is er niet veel verschil tussen [email protected]_1 en timeStamp_1_module_1_etc aangezien het enige eerste veld wordt gebruikt.



  1. MongoDB gebruikt NOT en AND samen

  2. Mongodb-verzameling en een Python-dictaat samenvoegen

  3. Mongo / Mongoose - Samenvoegen op datum

  4. MongoDB $isoWeekYear