sql >> Database >  >> NoSQL >> MongoDB

Mongodb-indexering voor aggregaten

U kunt geen index maken die werkt zoals u deze hebt beschreven. Er is geen manier om een ​​van de outputs van een pijplijnstap te "indexeren" bij het uitvoeren van een aggregatie.

Er zijn een paar aggregatie-operators waarmee kunnen werken MongoDB-verzamelingsindexen .

Momenteel omvatten ze:$match , $sort , $limit , en $skip .

Als $match is er een van, de prestaties van de aggregatiequery die u hebt geschreven, kunnen profiteren door een samengestelde index op de twee velden te declareren, vooral omdat u de $match correct hebt geplaatst aan het begin van de pijplijn:

db.theCollection.ensureIndex({user: 1, type: 1})

De $group stap in de pijplijn zal de resultaten van de $match en idealiter relatief snel zijn. :)



  1. Hoofdletters in mongo veranderen in kameelomhulsel?

  2. Waarom de achterliggende 0x00 byte na BSON-tekenreeks (niet Cstring/ename)?

  3. Mongo DB Server Opstartwaarschuwingen

  4. Wordt een verbinding met MongoDB automatisch gesloten op process.exit()?