update bdd's tp

master
antoine.perederii 1 year ago
parent ed5e693214
commit a9bd372df5

File diff suppressed because it is too large Load Diff

@ -0,0 +1,120 @@
-- Q1). Lister les noms, villes et nombres détoiles des adresses répertoriées en Californie (CA) ayant
-- obtenu 5 étoiles, triées par nom par ordre alphabétique.
db.yelp.find({state: 'CA', stars: 5}, ["name", "city", "stars"]).sort({"name": 1})
-- Q2). Faire la même chose sous forme de pipeline dagrégation.
db.yelp.aggregate({ $match : {"state": 'CA','stars': 5}}, {$project : {"name": 1,"city": 1,"stars": 1}},{ $sort : {"name": 1}})
-- Q3). Faire la même chose via linterface graphique de Compass en utilisant longlet .
-- En rajoutant loption .explain("executionStats") entre le nom de la collection et le .aggregate,
-- il est possible dobtenir des informations sur lexécution de votre pipeline dagrégation comme par
-- exemple :
-- ...
-- executionStats: {
-- executionSuccess: true, /*Est-ce que lexécution sest bien passée ?*/
-- nReturned: 2416, /*Le nombre de documents retournés*/
-- executionTimeMillis: 250, /*Le temps dexécution en ms*/
-- ...
-- Q4). Utiliser cette option pour obtenir le temps dexécution du pipeline dagrégation réalisé pour
-- la question 2.
db.yelp.explain("executionStats").aggregate({ $match : {"state": 'CA','stars': 5}}, {$project : {"name": 1,"city": 1,"stars": 1}},{ $sort : {"name": 1}})
-- Q5). Inverser lordre de vos opérateurs dans le pipeline et comparer le temps dexécution de cette
-- nouvelle version avec lancienne. Pourquoi ce résultat ?
db.yelp.explain("executionStats").aggregate({$project : {"name": 1,"city": 1,"stars": 1}}, { $match : {"state": 'CA','stars': 5}},{ $sort : {"name": 1}})
db.yelp.explain("executionStats").aggregate({$project : {"name": 1,"city": 1,"stars": 1}}, { $match : {"state": 'CA','stars': 5}},{ $sort : {"name": 1}})
db.yelp.explain("executionStats").aggregate({$project : {"name": 1,"city": 1,"stars": 1}}, { $sort : {"name": 1}}, { $match : {"state": 'CA','stars': 5}})
db.yelp.explain("executionStats").aggregate({ $sort : {"name": 1}}, {$project : {"name": 1,"city": 1,"stars": 1}}, { $match : {"state": 'CA','stars': 5}})
db.yelp.explain("executionStats").aggregate({ $sort : {"name": 1}}, { $match : {"state": 'CA','stars': 5}}, {$project : {"name": 1,"city": 1,"stars": 1}})
-- Q6). Utiliser un pipeline pour lister les états représentés dans cette base de données.
db.yelp.aggregate({$project : {state : 1}})
-- Q7). Utiliser un pipeline pour lister les villes du Texas (TX) représentées dans cette base de données.
db.yelp.aggregate({$match : {"state" : "TX"}},{$project : {city: 1, _id : 0}})
-- Q8). Compter le nombre dadresses connues à Santa Barbara.
db.yelp.aggregate({$match : {"city" : "Santa Barbara"}},{$count : "name"})
db.yelp.aggregate({$match : {"city" : "Santa Barbara"}},{$count : "*"})
-- Q9). Combien y a til dadresses référencées qui sont définitivement fermées ?
db.yelp.aggregate({$match : {"is_open" : 0}},{$count : "*"})
-- Q10). Compter le nombre dadresses référencées pour chaque état, les états en ayant le plus en
-- premier.
db.yelp.aggregate({$group : {_id : "$state", "nombre" : {$count : {}}}}, {$sort : {"nombre" : -1}})
-- Q11). Compter le nombre total de commentaires laissés pour des restaurants dans chaque ville de
-- Californie (CA).
db.yelp.aggregate({$match : {state : "CA", "categories": ["Restaurants"]}}, {$group : {_id : "$city", "nombre" : { $count : {} } } })
-- Q12). Quel est le nombre maximum de commentaires laissés pour des chefs à domicile (Personal
-- Chefs) pour chaque état ?
-- Q13). Quel est le nombre moyen détoiles reçues par les bars de chaque ville du Missouri (MO) ?
-- Q14). Récupérer le fichier cities.json sur Moodle. Ce fichier contient des informations sur les
-- 1000 plus grandes villes américaines.
-- Q15). Importer les documents du fichier cities.json dans une nouvelle collection nommée cities.
-- Vous pouvez utiliser la commande mongoimport ou importer via Compass.
-- Q16). Les champs "rank" et "population" sont sous forme de chaîne de caractères. Pour faciliter
-- lanalyse ultérieure de ses données nous allons les transformer en entier. Faire un pipeline dagrégation
-- faisant la conversion en entier pour ces deux champs et enregistrant le résultat dans une nouvelle
-- collection cities2.
-- Q17). Vérifier que la collection cities2 a bien été créée et afficher quelques documents pour vérifier
-- que la conversion en entier a bien été réalisée.
-- Q18). Quelle est la population moyenne de ces villes ?
-- Q19). Faire une jointure entre la collection yelp et la collection cities2. Le champ servant à stocker
-- le résultat devra sappeler "city_details".
-- Q20). Plusieurs villes américaines situées dans des états différents portent le même nom. Par
-- exemple, il existe une ville se nommant Madison dans lAlabama, dans le Tennessee et dans le Wis-
-- consin.
-- Modifier votre pipeline dagrégation pour que le champ "city_details" ne soit plus un tableau mais
-- un objet unique, et que les informations contenues dans "city_details" correspondent bien à la ville
-- en question. Vous en profiterez pour éliminer les adresses pour lesquelles nous navons pas dinformation
-- sur la ville.
-- Q21). Lister les glaciers (Gelato) pour lesquels au moins un habitant sur 1000 de sa ville a laissé un
-- commentai
Loading…
Cancel
Save