Les opérations d'agrégation se composent de plusieurs expressions qui aident à regrouper les données d'une sortie significative. Par exemple, un ordinateur portable, des mobiles, des gadgets peuvent être combinés sous une seule entité, disons Technology_store. Les entités sont combinées lorsque les entités individuelles ne représentent rien ou n'ont aucun sens.
Cet article fournit un aperçu approfondi de la méthode agrégée et des expressions soutenues par cette méthode.
Comment fonctionne la fonction globale dans MongoDB
Premièrement, pour l'agrégation, il est recommandé de comprendre la fonction agrégée; La syntaxe de cette fonction est fournie ci-dessous:
> db.collection.agrégat (agrégat-opération)
Dans la syntaxe, "collection" et "opération globale«Sont définis par l'utilisateur. Le "collection«Le nom peut être n'importe quoi et«opération globale«Peut être créé en utilisant plusieurs expressions agrégées soutenues par MongoDB. Peu d'expressions agrégées bien connues utilisées sont répertoriées ci-dessous:
Comment utiliser une fonction agrégée dans MongoDB
Dans cette section, nous avons fourni quelques exemples qui vous aideront à comprendre le fonctionnement de l'agrégation dans MongoDB.
Le nom de collection utilisé dans cet exemple est «ouvriers»Et le contenu à l'intérieur est illustré ci-dessous:
> db.ouvriers.trouver().joli()
Comme le montre la sortie, les travailleurs ont des champs: «Nom», «désignation», «Département» et "salaire".
Exemple 1: Utilisation de l'expression de $ SUM
L'opération d'agrégation suivante regroupera les travailleurs par rapport au département associé et $ somme L'expression est utilisée pour donner un nombre total de travailleurs dans chaque département:
Comme la sortie montre que la commande a catégorisé les travailleurs en respectant les départements associés:
> db.ouvriers.agrégat ([$ group: _id: "$ département", total_workers: $ sum: 1])
Vous pouvez également regrouper les données d'autres manières; Comme si vous voulez obtenir le nombre de travailleurs par rapport à leurs désignations; Vous pouvez également le faire en utilisant la commande ci-dessous:
Un résultat comme celui-ci peut être utile pour obtenir le nombre de travailleurs à différentes désignations.
> db.ouvriers.agrégat ([$ group: _id: "$ désignation", total_workers: $ sum: 1])
Exemple 2: Utilisation de l'expression de $ avg
Dans cet exemple, la collection est la même que dans l'exemple 1. Ici, $ avg L'expression d'agrégation est utilisée pour obtenir le salaire moyen dans chaque département de ouvriers collection. Dans notre cas, la fonction globale suivante calculera le salaire moyen des travailleurs dans «en écrivant" et "vidéo" départements:
> db.ouvriers.agrégat ([$ groupe: _id: "$ département", moyenne: $ avg: "$ salaire"])
Exemple 3: Utilisation d'expressions $ min et $ max
Vous pouvez obtenir le salaire minimum en spécifiant le $ min Expression dans la méthode agrégée: La commande mentionnée ci-dessous imprimera le salaire minimum des travailleurs dans les deux départements:
> db.ouvriers.agrégat ([$ groupe: _id: "$ département", min_salary: $ min: "$ salaire"])
Et la commande mentionnée ci-dessous vérifiera le salaire maximal des travailleurs en les regroupant "désignation" sage:
Comme discuté précédemment, pour le calcul des valeurs maximales, $ max Le fonctionnement est utilisé:
> db.ouvriers.agrégat ([$ group: _id: "$ désignation", max_salary: $ max: "$ salaire"]))
Exemple 4: Utilisation de $ Push Expression
Cet exemple explique l'utilisation de $ push avec la méthode agrégée dans MongoDB. L'expression $ push renvoie les données sous forme de valeurs de tableau et est utilisée pour obtenir des résultats conditionnels sur les données groupées. Ici, dans cet exemple, nous utilisons la collection "tech_store»Et le contenu suivant réside à l'intérieur:
> db.tech_store.trouver()
La collection contient une liste de quelques produits et leurs dates d'expiration. La commande écrite ci-dessous effectuera les actions suivantes:
> db.tech_store.agrégat ([$ group: _id: expiry: $ year: "$ expiry", itemStoExpire: $ push: product: "$ product", quantité: "$ qty"])).joli()
Exemple 5: Utilisation de $ First et $ Dernières expressions
Il y a deux autres expressions ($ d'abord et $ dernier) qui peut être utilisé dans la méthode agrégée. Pour l'exercice de ces méthodes, nous utiliserons un «ordinateurs portables»Collection qui contient les documents suivants.
> db.ordinateurs portables.trouver()
$ d'abord: Le premier opérateur $ est utilisé pour imprimer la dernière valeur à partir des données groupées. Par exemple, la commande écrite ci-dessous regroupera les données selon le «Produit”Field, puis l'opérateur $ First affiche les éléments qui vont être expirés.
> db.ordinateurs portables.agrégat ([$ group: _id: "$ product", itemstoExpire: $ premier: "$ expiry"]).joli()
$ dernier: En utilisant $ dernier, Vous pouvez vérifier la dernière valeur de n'importe quel champ dans une données groupées. Par exemple, la commande mentionnée ci-dessous regroupera les données par rapport au «Produit”Field et le $ dernier L'opérateur est ensuite utilisé pour obtenir la date d'expiration (se produisant à la fin) de chaque produit.
> db.ordinateurs portables.agrégat ([$ group: _id: "$ product", itemstoExpire: $ last: "$ Expiry"]).joli()
Conclusion
MongoDB possède un large éventail de fonctions disponibles pour effectuer des opérations spécifiques sur des collections complètes ou un document spécifique dans une collection. La fonction globale est pratiquée généralement pour obtenir le résultat calculé de la collecte en regroupant les données pour récupérer des entités significatives. Dans cet article informatif, vous apprendrez les bases du concept d'agrégation dans MongoDB et les expressions utilisées dans l'agrégation. En fin de compte, quelques exemples d'agrégation sont exécutés pour montrer la mise en œuvre de la fonction agrégée dans MongoDB suivie également de l'exercice de ses expressions.