sql >> Database >  >> NoSQL >> MongoDB

MongoDB {aggregatie $ match} versus {find} snelheid

Het hoofddoel van het aggregation framework is om het zoeken naar een groot aantal items te vergemakkelijken en een laag aantal resultaten te genereren die waardevol voor u zijn.

Zoals je al zei, kun je ook meerdere find . gebruiken zoekopdrachten, maar onthoud dat u geen nieuwe velden kunt maken met find vragen. Aan de andere kant, de $group stage kunt u uw nieuwe velden definiëren.

Als u de functionaliteit van het aggregation framework wilt bereiken, , zou u hoogstwaarschijnlijk een eerste find . moeten uitvoeren (of koppel er meerdere), haal die informatie eruit en manipuleer het verder met een programmeertaal.

De aggregation pipeline lijkt misschien langer te duren, maar je weet tenminste dat je maar rekening hoeft te houden met de prestaties van één systeem - MongoDB-engine.

Terwijl, als het gaat om het manipuleren van de gegevens die worden geretourneerd door een find query, zou u hoogstwaarschijnlijk de gegevens verder moeten manipuleren met een programmeertaal, waardoor de complexiteit toeneemt, afhankelijk van de fijne kneepjes van de programmeertaal naar keuze.



  1. Verbinding maken met MongoDB-databases

  2. Haal het nieuwste record uit de mongodb-collectie

  3. Wat is het verschil tussen id en _id in mangoest?

  4. MongoDB .NET genereert geen _id op upsert