Requêtes sur les bases de données

MongoDB

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, $addFieldsremodé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.

$setest 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. $matchutilise 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 $mergescè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 $outscè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 $unsetpour 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 _idchamp. 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 _idchamp. 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.

SQL

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.

Mis à jour

Ce contenu vous a-t-il été utile ?