13. Opérations d'agrégation dans MongoDB

L'opération d'agrégation dans MongoDB est un moyen efficace de traiter les données et de renvoyer les résultats calculés. Les opérations d'agrégation regroupent les valeurs de plusieurs documents et peuvent effectuer diverses opérations sur ces données groupées pour renvoyer un résultat unique. MongoDB propose trois manières d'effectuer des agrégations : le pipeline d'agrégation, la méthode map-reduce et les opérations d'agrégation à objectif unique.

Pipeline d'agrégation

Les pipelines d'agrégation dans MongoDB utilisent des opérateurs de pipeline pour traiter et transformer vos documents en étapes groupées. Chaque document passe par ces étapes du pipeline dans l'ordre. Le pipeline d'agrégation est un framework puissant qui offre des fonctionnalités similaires aux requêtes SQL GROUP BY.

Les opérateurs de pipeline incluent $match, $group, $sort, $project, $limit et bien d'autres. $match filtre les documents, $group regroupe les valeurs de plusieurs documents, $sort trie les documents, $project remanie chaque document, $limit limite le nombre de documents pour passer à l'étape suivante.

Opérations de réduction de carte

La méthode map-reduce est un moyen flexible d'effectuer des agrégations, en particulier lorsqu'il s'agit de gros volumes de données. Map-Reduce est un modèle de traitement de données permettant de condenser de grands volumes de données en résultats agrégés utiles. Dans MongoDB, map-reduce opère sur une collection de documents et renvoie un résultat de collection.

Le processus de réduction de mappage dans MongoDB mappe d'abord les données pour générer des paires clé-valeur, puis réduit toutes les paires avec la même clé. Le mappage et la réduction sont des opérations JavaScript personnalisées que MongoDB effectue sur la collection.

Opérations d'agrégation à usage unique

MongoDB propose également certaines opérations d'agrégation à objectif unique, telles que compter le nombre de documents, calculer la somme des valeurs et rechercher les valeurs minimales et maximales dans une collection.

Exemples d'opérations d'agrégation

Considérons quelques exemples d'opérations d'agrégation dans MongoDB. Supposons que nous ayons une collection « commandes » avec des documents contenant « customer_id » et « montant ».

Pour trouver la somme totale de 'amount' pour chaque 'customer_id', nous pouvons utiliser le pipeline d'agrégation avec l'opérateur $group:

db.orders.aggregate([ { $groupe : { _id : "$id_client", total : { $sum : "$montant" } } } ])

Ce code regroupe les documents par 'customer_id' et ajoute les valeurs 'montant' pour chaque groupe.

Pour trouver la somme totale du « montant » pour tous les documents, nous pouvons utiliser la méthode map-reduce :

db.orders.mapReduce( function() { émis(null, this.amount); }, function (clé, valeurs) { return Array.sum (valeurs); }, { sortie : "order_totals" } )

Ce code génère le « montant » de chaque document avec une clé nulle, puis additionne toutes les valeurs sorties.

Pour compter le nombre de documents dans la collection, nous pouvons utiliser l'opération d'agrégation à objectif unique 'count' :

db.commandes.count()

Ce code renvoie le nombre de documents dans la collection 'commandes'.

Les opérations d'agrégation dans MongoDB constituent un moyen puissant et flexible de travailler avec des données. Ils vous permettent de traiter et de transformer vos documents de plusieurs manières pour obtenir les résultats souhaités.

Répondez maintenant à l’exercice sur le contenu :

Laquelle des affirmations suivantes concernant les opérations d’agrégation dans MongoDB est correcte ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

68Travailler avec un pipeline d'agrégation

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte