Qu'est-ce que l'agrégation dans MongoDB avec l'exemple

Qu'est-ce que l'agrégation dans MongoDB avec l'exemple
Les systèmes de gestion de bases de données ont des opérations communes prises en charge par les bases de données SQL et NOSQL. L'opération d'agrégation en fait partie et est soutenue par plusieurs bases de données relationnelles et non relationnelles. MongoDB est l'une de ces bases de données qui ont le soutien de cette opération. L'agrégation est une opération clé dans toute base de données qui vous permet de traiter les enregistrements de données pour obtenir des résultats ciblés. À l'aide de l'agrégation, les utilisateurs peuvent combiner plusieurs entités pour former une seule entité significative en regroupant les données.

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:

  • $ somme: Cette expression additionne les valeurs d'un champ spécifique dans un document.
  • $ min: Obtient la valeur minimale des valeurs correspondantes dans tous les documents.
  • $ max: Fonctionne comme $ min, cependant, il obtient la valeur maximale.
  • $ avg: Cette expression est utilisée pour calculer la moyenne des valeurs données dans une collection
  • $ dernier: Il renvoie le dernier document du document source
  • $ d'abord: Il est utilisé pour retourner le premier document d'un document source
  • $ push: Cette expression insère des valeurs à un tableau dans un document résultant (des doublons peuvent se produire lors de l'utilisation de $ push)

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:

  • regroupe les données concernant l'année d'expiration de chaque produit.
  • Les documents tombant chaque année seront poussés à l'aide de l'opérateur de push $.
> 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.