Académique Documents
Professionnel Documents
Culture Documents
des TPs
d’administration
de MongoDB
02 TP 1 :
TP 2 :
03
04 TP 3 :
05 TP 4 :
06 TP 5 :
Part I : BUT DES TPs
Les cinq travaux pratiques (TP) ont pour objectif de permettre aux apprenants de
maîtriser la manipulation de MongoDB. Ces TP couvrent divers aspects de
l'utilisation de MongoDB, notamment la création et la gestion de bases de données
et de collections, l'insertion, la consultation, la mise à jour et la suppression de
données, ainsi que des concepts avancés tels que l'indexation, l'agrégation et la
configuration de la réplication pour garantir la fiabilité et la disponibilité des
données. En somme, ces TP offrent une immersion pratique dans le monde de
MongoDB, permettant aux apprenants de développer des compétences essentielles
pour travailler avec ce SGBD moderne et performant.
TP1 :
Ecrire les commandes MongoDB permettant de :
1. Créer une nouvelle base de données nommée info et vérifiez qu'elle est
sélectionnée.
use info;
db.getName(); // should return "info"
2. Afficher toutes les bases de données.
show dbs;
3. Créer une nouvelle collection nommée
produits. db.createCollection("produits");
4. Afficher les collections de la base de données info.
Show collections
5. Insérer le document suivant dans la collection produits
: db.produits.insertOne({
name: "Macbook Pro",
manufacturer: "Apple",
price: 16430.32,
options: {
"MI MAX Ecran LED 4K": 1,
"Long Life Battery": 1
}
});
1 - use DBLP
2 - db.createCollection("publis")
3 - doc1={type:"Book",title:"Modern database system:the object
model,Interoperability,abd beyond.",year:1995,publisher:"ACM Press and
Addison- Wesley",authors:["Won Kim"],Source:"DBLP"}
4 - db.publis.insert(doc1) {NB : db.publis.save n’a pas travaille erreur : save n’est
pass une fonction}
5 - db.publis.find()
6 - mongoimport --host localhost:27017 --db DBLP --collection publis --jsonArray
-- type json --file "C:/Users/J.P.M/Desktop/dblp.json"
7 - db.publis.find({"type":{$eq:"Book"}})
8 - db.publis.find({"year":{$gte:"2011"}})
9 - db.publis.find({"year":{$gte:"2014"},"type":{$eq:"Book"}})
10 - db.publis.find({ "author.name": "Toru Ishida" })
11 - db.publis.distinct("publisher")
12 - db.publis.distinct("author.name")
13 - db.publis.find({ "author.name": "Toru Ishida" }).sort( { "title": 1, "pageStart": 1 } )
14 - db.publis.find({ "author.name": "Toru Ishida" }, { "title": 1, "pageStart": 1, _id: 0
}) 15 - db.publis.count({ "author.name": "Toru Ishida" })
16 - db.publis.count({ "year": { $gte: 2011 }, "type": { $exists: true } }, { "type": 1,
_id: 0 })
17 - db.publis.aggregate([{ $group: { _id: "$author.name", count: { $sum: 1 } } },
{ $sort: { count: 1 } }
])
TP4 :
1) Pour créer une nouvelle base de données nommée "Ecole" et la vérifier, vous
pouvez utiliser les requêtes MongoDB suivantes :
use Ecole
show collections
2) Pour créer les collections "etudiants" et "cours", vous pouvez utiliser les
requêtes MongoDB suivantes :
db.createCollection("etudiants")
db.createCollection("cours")
3) Pour vérifier les collections, vous pouvez utiliser la requête suivante : show
collections
4) Pour importer les données dans les collections correspondantes, vous pouvez
utiliser les commandes mongoimport suivantes :
db.etudiants.find()
db.etudiants.find({ "cours": "python" })
7) Pour rechercher les étudiants dont la note est supérieure à 15, vous pouvez
utiliser la requête MongoDB suivante :
8) Pour afficher les noms et prénoms des étudiants triés par ordre
alphabétique, vous pouvez utiliser la requête MongoDB suivante :
db.etudiants.find().sort( { "nom": 1, "prenom": 1 } )
9) Pour calculer la moyenne des notes des étudiants par département, vous pouvez
utiliser la requête MongoDB suivante :
db.etudiants.aggregate([
{ $group: { _id: "$departement", moyenne: { $avg: "$note" } } },
{ $sort: { moyenne: -1 } }
])
10) Pour afficher tous les cours et leurs enseignants, vous pouvez utiliser la
requête MongoDB suivante :
db.cours.find() db.cours.find().forEach(function(cours)
{ print(cours.nom + " - " + cours.enseignant)
})
11) Pour compter le nombre d'étudiants par département, vous pouvez utiliser la
requête MongoDB suivante :
db.etudiants.aggregate([
{ $group: { _id: "$departement", count: { $sum: 1 } } },
{ $sort: { count: -1 } }
])
TP 5 :
Exercice 1:
Ecrire le code Python qui permet de :
1. Se connecter à une base de données MongoDB locale appelée "ecole".
2. Insérer un nouveau document dans les collections "étudiants" et
"cours". Le document doit contenir les champs suivants :
• "nom", "age" et "ville", pour la collection "étudiants" ;
• "nom", "enseignant" et "salle", pour la collection "cours"
Nb : Remplissez-les avec des valeurs de votre choix.
3. Rechercher et afficher tous les étudiants dans la collection "étudiants".
4. Mettre à jour le champ "ville" du document où le champ "nom" est égal à "X".
Changez la valeur de "ville" pour "Rabat".
5. Supprimer un cours de votre choix où le champ "nom" est égal à "X" de la
collection
"cours".
Remarque : X : un nom de votre choix.
Le code :
import pymongo
Exercice 2 :
Ecrire un programme python qui demande à l'utilisateur d'insérer des données dans
une
collection et affiche toutes les données de cette collection.
Le code :
import pymongo
Exercice 3 :
Écrire un programme Python qui demande à l'utilisateur récupère des données d'une
collection MongoDB et les trie en fonction de leur valeur dans un champ donné.
Le code :
import pymongo
Exercice 4 :
Écrire un programme Python qui demande à l'utilisateur de saisir le nom de la
collection et
le(s) champ(s) à mettre à jour pour une ou plusieurs entrées d’une collection
MongoDB.
Le code :
import pymongo
# Mettre à jour les champs pour tous les documents dans la collection
for champ in champs:
db[collection].update_many({}, { "$set": { champ.strip(): "" } })
Exercice 5 :
Écrire un programme Python qui demande à l'utilisateur quelle fonction il souhaite
exécuter
sur une collection MongoDB (recherche, insertion, modification ou suppression)
Le code :
import pymongo
else:
print("Invalid action")
Exercice 6 :
Un programme Python qui demande à l'utilisateur d'entrer des documents et les
enregistre
dans un fichier JSON, puis les importe dans une base de données MongoDB
Le code :
import json
import pymongo
# Import the documents from the JSON file into the MongoDB collection
with open("documents.json", "r") as f:
docs = json.load(f)
collection.insert_many(docs)