sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongodb indexering för aggregat

Du kan inte skapa ett index som fungerar som du har beskrivit det. Det finns inget sätt att "indexera" en av utdata från ett pipelinesteg när du kör en aggregering.

Det finns några aggregeringsoperatorer som kan arbeta med MongoDB samlingsindex .

För närvarande inkluderar de:$match , $sort , $limit och $skip .

Som $match är en av dem kan prestandan för aggregeringsfrågan du har skrivit gynnas av att deklarera ett sammansatt index på de två fälten, särskilt som du har placerat $match korrekt. i början av pipelinen:

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

$group steg i pipelinen kommer att ta resultaten från $match och helst vara relativt snabb. :)



  1. Distribuerad officiell Mongodb Kafka Source Connector med flera uppgifter fungerar inte

  2. Returnerar inre arrayelement från flera dokument i sorterad form

  3. Rails 3:hur man använder aktiv skiva och mongoid samtidigt

  4. varför användningen av en ORM med NoSql (som MongoDB)