Groupe mongodb par plusieurs champs

Groupe mongodb par plusieurs champs

"La base de données MongoDB joue un rôle important dans le stockage et la manipulation des données. Pour organiser des données, nous créons des groupes pour collecter le même type de données en un seul endroit. Le regroupement peut être sur différents attributs, que ce soit à partir de la variable de comptage ou de toute autre fonctionnalité. Ce tutoriel expliquera la création de groupe selon différents domaines de documents.

Pour la mise en œuvre du phénomène des groupes selon plusieurs champs, nous devons avoir des données dans la base de données. Nous créerons d'abord une base de données. Cela se fait en déclarant le nom de la base de données avec le mot clé «Utiliser."Pour cette implémentation, nous utilisons une base de données" Demo."

>> Utiliser la démo

Une fois que vous aurez terminé la création de la base de données, les données seront insérées dans la base de données. Et pour la saisie de données que nous avons utilisée pour créer des «collections», ce sont les conteneurs qui jouent un rôle important dans le stockage de données illimitées. À la fois, nous pouvons créer de nombreuses collections dans une seule base de données. Ici, nous allons créer une base de données avec le nom «Info."

>> db.CreateCollection ('info')

La réponse de MongoDB sera «OK»; c'est la confirmation de la création de la collection. Les données de la collection sont entrées dans la ligne par ligne. Nous allons donc insérer des données dans la collection. Comme ces données seront utilisées plus loin dans des exemples pour créer des groupes en fonction de différents domaines, nous avons donc entré de nombreuses lignes. Chaque fois qu'un ID différent est affecté à chaque ligne.

>> db.Info.insertone ("name": "savid",
"Age": 28,
"Genre masculin",
"Pays": "États-Unis d'Amérique")

De même, toutes les données seront insérées. Vous pouvez voir toutes les données insérées en utilisant la commande find ()

>> db.Info.trouver().joli()

Exemple 1: groupe par plusieurs champs / attributs

Lorsque nous avons un large ensemble de données dans la base de données, mais que nous voulons prendre une vue de quelques-unes, alors à cet effet, des groupes $ sont trouvés. Dans cet exemple, nous créerons un groupe pour voir des attributs particuliers de la collection. Le facteur de groupe repose sur l'opération globale. Une opération globale est utilisée, pour résumer les données en fonction des champs communs. Le panneau «$» en dollar indique la variable. Appliquez maintenant une requête sur la collection d'informations ci-dessus.

Un groupe en fonction de l'ID, sera créé. Et puis, seuls les documents d'âge et de genre sont sélectionnés pour être affichés. Tandis que toutes les données, y compris le nom et le pays, sont supprimées. Ceci est en quelque sorte un filtre utilisé pour limiter l'affichage des données.

>> db.Info.agrégat ([$ group: _id: Âge: "$ age", genre: "$ genre"])

Vous pouvez voir que nous avons regroupé chaque ligne selon ID en limitant les données à deux attributs.

Exemple 2: groupe à travers plusieurs champs en appliquant une condition

Cela fait référence au regroupement des documents en fonction d'une condition spécifique. Un groupe sera créé sur deux attributs, et après la création de groupe, nous ajouterons une variable de nombre pour compter l'occurrence de la valeur d'un document spécifique. Et aussi, nous avons ajouté une commande de tri.

Tout d'abord, affichons les documents de notre collection «Nouveau."Nous avons créé une collecte et ajouté des données plus tôt en suivant les mêmes étapes décrites ci-dessus. Nous afficherons tous les éléments de la collection via la fonction find ().

La requête contiendra d'abord la partie du groupe. Le groupe est créé sur ID; L'université et le niveau sont les deux attributs de base que nous voulons afficher. La variable que nous utilisons obtient la valeur de la collection puis la affecte à la variable de requête. Toutes les valeurs et conditions ne sont pas écrites directement dans la commande.

Après la création de groupe, la condition est appliquée; c'est compter et calculer la somme en fonction des niveaux de chaque document. Après cela, cette réponse sera organisée par ordre décroissant. Cela se fait via les fonctions tri (). Cette fonction ne contient que deux paramètres; Pour la valeur ascendante, il est 1 et pour descendant, il est -1.

>> db.nouveau.agrégat ([$ group: _id: "University": "$ University", "Level": "$ Level", "LevelCount": "$ sum": 1, "$ Soi" : "NIVEALCOUNT": - 1])

L'ordre descendant montrera que la plus grande quantité du niveau sera affichée en premier, puis la plus petite s'affiche à la suite du document de niveau.

Exemple 3: groupe de seau MongoDB par plusieurs champs

Comme son nom indique que les groupes sont trouvés en fonction du seau. Cela se fait en créant l'agrégation de seau. L'agrégation de godets est le processus de catégorisation des documents en groupes. Ce groupe agit comme des seaux. Chaque document est divisé en fonction de l'expression spécifique.

Pour développer ce concept, nous allons jeter un œil à une collection que nous avons créée, et maintenant nous appliquerons les commandes à cela. Une collection «Draw» est créée qui stocke les informations de base concernant une personne. Nous avons affiché les 4 lignes entrées dans la collection plus tôt.

Sur les données ci-dessus, nous appliquerons une commande pour créer un seau (groupe) ayant l'année comme un attribut pour regrouper les données. Nous avons également créé des limites au cours desquelles l'année de Born and Death sont mentionnées. Les conditions appliquées sur cette commande incluent la variable de nombre pour compter le nombre d'occurrences. Nous avons également utilisé une méthode de concaténation ici pour combiner les premiers et les seconds noms comme chaînes. Et aussi, l'année de naissance sera affichée. L'identité dépend de l'année.

Lorsque nous calculons cette requête, la valeur résultante montrera que deux lignes sont regroupées en fonction des limites d'âge que nous avons créées.

Conclusion

La caractéristique MongoDB du regroupement en fonction de plus d'un seul champ est élaborée dans cet article en démontrant le fonctionnement de l'opération globale dans la création de groupe. Toute fonction de groupe est incomplète sans la fonction agrégée. La fonction de groupe est appliquée directement dans les différents champs pour limiter l'exposition de données entières. Le regroupement via plusieurs champs est également accompli en appliquant une condition particulière. En fin de compte, nous avons décrit la création d'un groupe de seau qui contient plus d'éléments comme un seau.