Partie 2 - Cours MongoDB
Partie 2 - Cours MongoDB
Partie 2 - Cours MongoDB
« MongoDB »
ENSA Khouribga
Pr. SOUSSI Nassima
MongoDB : Généralité
‒ Système de gestion de base de données NoSQL orientée documents
crée en 2007 (SGBD NoSQL le plus populaire).
‒ Disponibilité de plusieurs fonctionnalités SQL dans le langage de
requête de MongoDB (count, group by, order by, sum...)
‒ Enregistre toutes nos données, saisies sous format JSON, dans le
format binaire BSON et retourne des résultats sous format JSON.
MongoDB offre aux utilisateurs la facilité d'utilisation et la
flexibilité des documents JSON ainsi que la vitesse et la richesse
d'un format binaire.
MongoDB : Généralité
Voici comment se présente une collection.
Le message «
waiting for
connections » sur
l'invite de
commandes indique
que le processus
mongod.exe a bien
été exécuté.
MongoDB est
prêt pour être
utiliser
‒ MongoDB Compass
‒ Robo 3T
‒ Studio 3T
‒ Mongo Booster
‒ …
Robo 3T : Généralité
‒ Robo 3T (anciennement Robomongo) est une interface
utilisateur de bureau très populaire pour vos déploiements
d'hébergement MongoDB.
‒ Permet d'interagir avec les données par le biais d'indicateurs
visuels plutôt que d'une interface textuelle.
‒ Cet outil open source prend en charge plusieurs plates-formes
et intègre en réalité le shell mongo dans son interface afin de
fournir une interaction à la fois avec le shell et l'interface
graphique.
Bases de Données NoSQL & Calcul Distribués 19
Interface Graphique de MongoDB
Robo 3T : Généralité
Remarque:
Tout d'abord, On
doit démarrer le
serveur avec la
commande mongod,
et par la suite on
lance Robo 3T.
(2)
(3)
(4)
Bases de Données NoSQL & Calcul Distribués 22
Interface Graphique de MongoDB
Commandes de Base
‒ mongod : démarrer le serveur
‒ mongo : démarrer une connexion client (démarrer le shell
javascript)
‒ mongo nom_de_la_BD : se connecter avec le nom de la
base de données voulue.
‒ db : Pour avoir le nom de la base de données courante.
‒ show dbs : Pour avoir la liste des bases de données.
‒ Création :
use nom_de_la_BD : si la base de données existe, on y
accède directement. Dans le cas contraire, elle sera créée
avant qu'on y accède.
‒ Suppression :
db.dropDatabase()
Méthode 2:
var nom_variable = ({clé1 :’val1’, clé2: ’val2’ , ...})
db.nom_Collection.save(nom_variable)
Remarque :
La fonction find opère sur 2 paramètres :
o Paramètre 1 : Filtre de sélection
o Paramètre 2 : Lister les attributs à affichés dans le
résultat.
db.personne.update( { _id: 5 }, {
$push: { sport: {
$each: [’sky’, ’volley’ , ’hockey’],
$slice: -5 }
}
}) => Le résultat est : hand, tenis, sky, volley, hockey
Bases de Données NoSQL & Calcul Distribués 51
Opération de Base sur le Shell
Opérateurs de Logique/Comparaison
Comme pour les bases de données relationnelles, la
base de données NoSQL MongoDB est constitué aussi
d’opérateurs de:
‒ Comparaison
‒ Logiques
Opérateurs de Logique/Comparaison
1. Les opérateurs de comparaison
‒ $gt : greater than (supérieur à)
‒ $gte : greater than or equal (supérieur ou égal)
‒ $lt : less than (inférieur à)
‒ $lte : less than or equal (inférieur ou égal)
‒ $eq : equal (égal à)
‒ $ne : not equal (différent de )
‒ $in : dans (un tableau...)
‒ $nin : not in (pas dans)
Bases de Données NoSQL & Calcul Distribués 57
Opération de Base sur le Shell
Opérateurs de Logique/Comparaison
Opérateurs de Logique/Comparaison
1. Les opérateurs de comparaison
Exemple 1: sélectionner les personnes âgés de plus de 20 ans
db.personne.find({"age":{ $gt:20 }})
Exemple 2: sélectionner les personnes dont l’ âge est entre 20
et 30 ans
db.personne.find(
{$and:
[ { age:{$gte:20}},{ age:{$lte:30}} ]
})
Bases de Données NoSQL & Calcul Distribués 59
Opération de Base sur le Shell
Opérateurs de Logique/Comparaison
Expressions régulières
Expressions régulières
Les agrégations
L’opérations d' agrégations traitent les enregistrements
de données et renvoient les résultats calculés.
Les opérations d'agrégation regroupent les valeurs de
plusieurs documents et peuvent effectuer diverses
opérations sur les données groupées pour renvoyer un seul
résultat.
Exemple : Group By, SUM, MIN, MAX, AVERAGE…
Les agrégations
db.nom_collection.aggregate (pipeline)
Paramètre Détails
pipeline array (Une séquence d'opérations ou d'étapes
d'agrégation de données)
Exemple 3: db.etudiants.aggregate( [
{ $sample: { size: 3 } }
])
Le résultat :
Il choisit aléatoirement trois documents de la collection
Documentation Officielle:
https://docs.mongodb.com/manual