DSI33-DSI32 ISET
KELIBIA
Atelier Base de données avancée
Enoncé:
On suppose que la base de données employés possède les documents suivants :
Document1:
({"nom": "Macbook Pro", "fabriquant": "Apple", "prix": 11435.99, "options": ["Intel Core
i5", "Retina Display", "Long life battery"]})
Document2:
({"nom" : "Macbook Air", "fabriquant" : "Apple", "prix" : 125794.73, "ultrabook" : true,
"options" : ["Intel Core i7", "SSD", "Long life battery"]}) db.produit.insert(document2)
Document3:
nom" : "Thinkpad X230", "fabriquant" : "Lenovo", "prix" : 114358.74, "ultrabook": true,
options: ["Intel Core i5", "SSD", "Long life battery"]}) db.produit.insert( document3)
1. Créer la Base de données mongo « employes »
- Sous l’invité de commande accéder au dossier bin de mongodb : cd C:\MongoDB\bin
- Crée une base de données employés;
- Se connecter à la base employés.
2. Répondre aux requêtes suivantes en utilisant MongoDB:
a. afficher toutes les collections de la base
b. afficher tous les documents de la base
c. compter le nombre de documents de la collection employés
d. insérer de deux manières différentes deux employés avec les champs nom, prénom et soit
prime soit ancienneté
e. afficher la liste des employés dont le prénom est David
f. afficher la liste des employés dont le prénom commence ou se termine par D
DSI33-DSI32 ISET
KELIBIA
g. afficher la liste des personnes dont le prénom commence par D et contient exactement 5
lettres
h. afficher la liste des personnes dont le prénom commence et se termine par une voyelle
i. afficher la liste des personnes dont le prénom commence et se termine par une même lettre
j. afficher le nom et prénom de chaque employé ayant une ancienneté > 10
k. afficher les nom et adresse complète des employés ayant un attribut rue dans l’objet
adresse
l. incrémenter de 200 la prime des ´employés ayant déjà le champ prime
m. afficher les trois premières personnes ayant la plus grande valeur d’ancienneté n. regrouper
les personnes dont la ville de résidence est Toulouse (afficher nom, prénom et ancienneté)
o. afficher les personnes dont le prénom commence par M et la ville de résidence est soit Foix
soit Bordeaux p. mettre à jour l’adresse de Dominique Mani : nouvelle adresse ({ numero :
20, ville : ’Marseille’, codepostal : ’13015’}). Attention, il n’y aura plus d’attribut rue dans
adresse
q. attribuer une prime de 1 500 à tous les employés n’ayant pas de prime et dont la ville de
résidence est différente de Toulouse, Bordeaux et Paris.
r. remplacer le champ tel, pour les documents ayant un champ tel), par un tableau nommé
téléphone contenant la valeur du champ tel (le champ tel est à supprimer)
s. créer un champ prime pour les documents qui n’en disposent pas et de l’affecter à 100 *
nombre de caractère du nom de la ville
t. créer un champ mail dont la valeur est égale soit à nom.pré[email protected] pour les
employés ne disposant pas d’un champ téléphone, soit à pré[email protected] (nom et
prénom sont à remplacer par les vraies valeurs de chaque employé)
u. calculer et afficher la somme de l’ancienneté pour les employés disposant du même
prénom.