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

MongoDB {aggregation $match} vs {find} hastighed

Hovedformålet med aggregation framework er at lette forespørgslen på et stort antal poster og generere et lavt antal resultater, der har værdi for dig.

Som du har sagt, kan du også bruge flere find forespørgsler, men husk at du ikke kan oprette nye felter med find forespørgsler. På den anden side er $group fase giver dig mulighed for at definere dine nye felter.

Hvis du gerne vil opnå funktionaliteten af ​​aggregation framework , vil du højst sandsynligt skulle køre en indledende find (eller sammenkæde flere), træk den information og manipuler den yderligere med et programmeringssprog.

aggregation pipeline kan se ud til at tage længere tid, men i det mindste ved du, at du kun skal tage højde for ydeevnen af ​​et system - MongoDB-motor.

Hvorimod, når det kommer til at manipulere de data, der returneres fra en find forespørgsel, vil du højst sandsynligt skulle manipulere dataene yderligere med et programmeringssprog og dermed øge kompleksiteten afhængigt af forviklingerne i det valgte programmeringssprog.



  1. Hvordan får man objekt-id'et i PyMongo efter en indsættelse?

  2. Mongodb $lookup dynamisk samling

  3. Hvordan angives en ordre eller sortering ved hjælp af C#-driveren til MongoDB?

  4. Systemet er ikke blevet startet med systemd som init system (PID 1). Kan ikke operere