L'objectif principal du aggregation framework
est de faciliter la requête d'un grand nombre d'entrées et de générer un petit nombre de résultats qui ont de la valeur pour vous.
Comme vous l'avez dit, vous pouvez également utiliser plusieurs find
requêtes, mais rappelez-vous que vous ne pouvez pas créer de nouveaux champs avec find
requêtes. Par contre, le $group
stage vous permet de définir vos nouveaux champs.
Si vous souhaitez obtenir la fonctionnalité du aggregation framework
, vous devrez très probablement exécuter une première recherche find
(ou enchaînez plusieurs), extrayez ces informations et manipulez-les davantage avec un langage de programmation.
Le aggregation pipeline
peut sembler prendre plus de temps, mais au moins vous savez que vous n'avez qu'à prendre en compte les performances d'un seul système - le moteur MongoDB.
Alors que, lorsqu'il s'agit de manipuler les données renvoyées par un find
requête, vous devrez probablement manipuler davantage les données avec un langage de programmation, augmentant ainsi la complexité en fonction des subtilités du langage de programmation de votre choix.