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.