Requêtes sur les bases de données
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dernière mise à jour
Cet article vous a-t-il été utile ?
La fenêtre de création de requête Mongo DB contient 3 onglets :
Sélection de données : concepteur visuel permettant de construire pas à pas la requête
Résultats : exécute la requête configurée dans l'onglet "Sélection de données" et affiche le résultat
Cache : permet d'activer du cache sur cette requête
La création de requêtes Mongo DB se fait en sélectionnant une collection, puis en ajoutant différents étapes à la requête.
Une fois que vous avez choisi la collection dans la liste déroulante, cette collection va passer à travers une série d'opérations. L'output de chaque étape sera l'input de l'opération suivante.
Les différentes étapes d'agrégations Mongo disponibles sont les suivantes :
Etape
Description
$addFields
Ajoute de nouveaux champs aux documents. Similaire à $project
, $addFields
remodélise chaque document dans le flux; plus précisément, en ajoutant de nouveaux champs aux documents de sortie qui contiennent à la fois les champs existants des documents d'entrée et les champs nouvellement ajoutés.
$set
est un alias pour $addFields
.
$bucket
Catégorise les documents entrants en groupes, appelés "buckets", en fonction d'une expression et des limites de "buckets" spécifiées.
$bucketAuto
Classe les documents entrants en un nombre spécifique de groupes, appelés "buckets"', en fonction d'une expression spécifiée. Les limites des "buckets" sont automatiquement déterminées pour tenter de répartir uniformément les documents dans le nombre spécifié de "buckets".
$count
Renvoie un décompte du nombre de documents à ce stade du pipeline d'agrégation.
$facet
Traite plusieurs pipelines d'agrégation en une seule étape sur le même ensemble de documents d'entrée. Permet la création d'agrégations à multiples facettes capables de caractériser les données sur plusieurs dimensions, ou facettes, en une seule étape.
$graphLookup
Effectue une recherche récursive sur une collection. À chaque document de sortie, ajoute un nouveau champ de tableau qui contient les résultats de parcours de la recherche récursive pour ce document.
$group
Regroupe les documents d'entrée par une expression d'identificateur spécifiée et applique la ou les expressions d'accumulateur, si elles sont spécifiées, à chaque groupe. Consomme tous les documents d'entrée et produit un document pour chaque groupe distinct. Les documents de sortie contiennent uniquement le champ identificateur et, si spécifié, les champs cumulés.
$limit
Passe les n premiers documents non modifiés au pipeline où n est la limite spécifiée. Pour chaque document d'entrée, sort un document (pour les n premiers documents) ou zéro document (après les n premiers documents).
$lookup
Effectue une jointure externe gauche vers une autre collection de la même base de données pour filtrer les documents de la collection «jointe» pour traitement.
$match
Filtre le flux de documents pour autoriser uniquement les documents correspondants à passer sans modification à la prochaine étape du pipeline. $match
utilise des requêtes MongoDB standard. Pour chaque document d'entrée, génère un document (une correspondance) ou zéro document (aucune correspondance).
$merge
Écrit les documents résultants du pipeline d'agrégation dans une collection. L'étape peut incorporer (insérer de nouveaux documents, fusionner des documents, remplacer des documents, conserver des documents existants, échouer l'opération, traiter des documents avec un pipeline de mise à jour personnalisé) les résultats dans une collection de sortie. Pour utiliser la $merge
scène, il doit s'agir de la dernière étape du pipeline.
$out
Écrit les documents résultants du pipeline d'agrégation dans une collection. Pour utiliser la $out
scène, il doit s'agir de la dernière étape du pipeline.
$project
Remodélise chaque document du flux, par exemple en ajoutant de nouveaux champs ou en supprimant des champs existants. Pour chaque document d'entrée, génère un document.
Voir aussi $unset
pour supprimer les champs existants.
$replaceRoot
Remplace un document par le document incorporé spécifié. L'opération remplace tous les champs existants dans le document d'entrée, y compris le _id
champ. Spécifiez un document incorporé dans le document d'entrée pour promouvoir le document incorporé au niveau supérieur.
$replaceWith
Remplace un document par le document incorporé spécifié. L'opération remplace tous les champs existants dans le document d'entrée, y compris le _id
champ. Spécifiez un document incorporé dans le document d'entrée pour promouvoir le document incorporé au niveau supérieur.
$skip
Ignore les n premiers documents où n est le numéro de saut spécifié et transmet les documents restants non modifiés au pipeline. Pour chaque document d'entrée, sort zéro document (pour les n premiers documents) ou un document (si après les n premiers documents).
$sort
Réorganise le flux de documents selon une clé de tri spécifiée. Seule la commande change; les documents restent inchangés. Pour chaque document d'entrée, génère un document.
$sortByCount
Regroupe les documents entrants en fonction de la valeur d'une expression spécifiée, puis calcule le nombre de documents dans chaque groupe distinct.
$unionWith
Effectue une union de deux collections; c'est-à-dire combine les résultats du pipeline de deux collections en un seul ensemble de résultats.
Nouveau dans la version 4.4.
$unwind
Déconstruit un champ de tableau à partir des documents d'entrée pour générer un document pour chaque élément. Chaque document de sortie remplace le tableau par une valeur d'élément. Pour chaque document d'entrée, génère n documents où n est le nombre d'éléments du tableau et peut être égal à zéro pour un tableau vide.
La fenêtre de création d'une requête SQL contient 5 onglets :
Création de la requête : concepteur visuel permettant de construire pas à pas la requête.
Requête SQL : vous permet d'avoir la sortie de votre requête en langage SQL.
Résultats : exécute la requête configurée dans l'onglet "Création de la requête" et affiche le résultat.
Cache : permet d'activer du cache sur cette requête.
Historique : Permet d'utiliser des requêtes ayant déjà étaient utilisées pour cette base de données.