sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB bruger ikke mit indeks

Regelmæssige mongodb-indekser bruger både feltværdi og type til at bygge træet.

Forespørgsler som $empty: true eller $ne: null har ikke en parameter af nogen art og kan ikke drage fordel af sådanne indekser. Det er et særligt tilfælde og kræver et særligt sparse index .

Hvis din [email protected]_1 indeks oprettes som:

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

Det burde understøtte din forespørgsel bedst. Ellers er der ikke den store forskel mellem [email protected]_1 og timeStamp_1_module_1_etc da det eneste første felt bliver brugt.



  1. MongoDB (Java) - Hvordan kører man forespørgsel gemt i javascript-fil?

  2. Mongodb:sorter dokumenter efter array-objekter

  3. mongodb tilføje tæller til hvert hentede dokument

  4. Afinstaller MongoDB på Mac OS X