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

Mongodb indeksering for aggregater

Du kan ikke oprette et indeks, der fungerer, som du har beskrevet det. Der er ikke en måde at "indeksere" et af output fra et pipelinetrin, når du kører en aggregering.

Der er nogle få aggregeringsoperatører, som kan arbejde med MongoDB samlingsindekser .

I øjeblikket inkluderer de:$match , $sort , $limit , og $skip .

Som $match er en af ​​dem, kan ydeevnen af ​​den aggregeringsforespørgsel, du har skrevet, drage fordel af ved at erklære et sammensat indeks på de to felter, især da du har placeret $match korrekt. i begyndelsen af ​​pipelinen:

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

$group trin i pipelinen vil tage resultaterne fra $match og ideelt set være relativt hurtig. :)



  1. Meteor Simple Schema - Når modifikatorindstillingen er sand, skal valideringsobjektet have mindst én operator

  2. MongoDB $round vs $trunc:Hvad er forskellen?

  3. Dynamiske attributter med Rails og Mongoid

  4. MongoDB - Importer CSV til indlejret dokument