Exercices¶
Exercice 1
¶
Répondre aux questions suivantes :
- Quels restaurants contiennent des chiffres dans leurs noms ?
- Quels sont les noms et identifiants (restaurant_id) des restaurants qui n'ont pas reçu de score > 6?
- Chercher pour chaque restaurant son score minimal et maximal triés par le score minimal croissant puis le score maximal décroissant.
- Comment enregistrer la réponse de la question 2 dans une collection appelée "q2".
- Ajouter l'adresse à chaque restaurant de cette collection.
Exercice 2
¶
- Créer une bases de données portant le nom "meteo".
- Importer, avec Compass, le fichier weather_tunisie.json dans une collection appelée «tunisie». (Cliquer sur le lien pour télécharger le fichier). La structure des documents est la suivante :
{ "_id":{"$oid":"61b665de7e8b7517e3d478bd"}, "lat":33.5444, //latitude "lon":9.9716, //longitude "daily":[ //les prévisions de 8 jours à partir d’aujourd’hui, chacune contient les informations suivantes : { "dt":{"$date":"2021-12-12T12:00:00.000Z"}, //date de la prévision "sunrise":{"$date":"2021-12-12T07:15:08.000Z"}, //lever de soleil "sunset":{"$date":"2021-12-12T17:12:48.000Z"}, //coucher de soleil "moonrise":{"$date":"2021-12-12T13:33:00.000Z"}, //lever de lune "moonset":{"$date":"2021-12-12T00:57:00.000Z"}, //coucher de lune "moon_phase":0.29, //phase de la lune "temp":{ //température "day":10.81, // du jour "min":6.19, // minimale "max":12.11, // maximale "night":10.43, // pendant la nuit "eve":9.85, // au soir "morn":6.56 // au matin }, "feels_like":{ // température sentie "day":9.15, // du jour "night":8.94, // pendant la nuit "eve":9.43, // le soir "morn":3.67 // le matin }, "pressure":1023, // pression atmosphérique "humidity":46, //humidité en pourcentage "wind_speed":7.89, //vitesse du vent "wind_deg":324, //orientation du vent en degré "weather":[ // le climat {"id":802,"main":"Clouds","description":"partiellement nuageux","icon":"03d"}], "clouds":34 // nuages }, … // suite des prévisions des jours suivants ], "name":"Matmata" // nom de la ville }
Requêtes à réaliser :
- Afficher le nom des villes dont le nom contient "bir" ou "Bir".
- Ajouter un champ appelé zone qui aura l’une des valeurs suivantes selon sa latitude :
- sud si latitude <34
- centre si latitude entre 34 et 36
- nord si latitude >36
- Afficher le nom des villes contenant les lettre t, b, r.
- Afficher le nom des villes qui possèdent au moins une prévision avec une vitesse du vent supérieure à 15.
- Afficher les noms des villes et leurs niveaux d’humidité qui ont toutes les prévisions d’humidité inférieures à 47.
- Calculer la température (temp.day) moyenne, et la vitesse du vent moyenne de la ville de Bizerte.
- Quel est le jour le plus chaud (temp.day) et dans quelle ville.
- Afficher les températures minimale et maximale, la vitesse du vent et la description du climat pour la ville de Bizerte au 15/12/2021.
Travail Optionnel
¶
Choisir l'un des thèmes et créer des exemples de requêtes sur la base restaurants ou une autre de base de ton choix.
- Indexation
- Objet cursor
- Requêtes géospatiales
- Jointures avec
$lookup
et des conditions multiples.