Académique Documents
Professionnel Documents
Culture Documents
ISI
IN S T I TUT
SUPERIEUR Mastère professionnel Développement logiciel et Nouvelles technologie - M1
INFORMATIQUE
Ingénierie des bases de données – Activité 4.1
الـمعهـد العـالـي لإلعـالمــيـةR. ZAAFRANI, 14/11/2022
Exercice 1
Nous considérons la collection de films « movies » qui nous fournit des documents JSON, comme
celui-ci par exemple :
{
"_id": "movie:100",
"title": "The Social network",
<genre>Action</genre>,
"summary": "On a fall night in 2003, Harvard undergrad and
programming genius Mark Zuckerberg sits down at his
computer and heatedly begins working on a new idea. (...)",
"year": 2010,
"director": {"last_name": "Fincher",
"first_name": "David"},
"actors": [
{"first_name": "Jesse", "last_name": "Eisenberg"},
{"first_name": "Rooney", "last_name": "Mara"}
]
}
1. Exprimer les requêtes suivantes à l’aide du langage de requête MongoDB :
2. a) Définir deux fonctions map et reduce qui permettent de produire un document par genre
de film, contenant pour chaque genre de films, la liste des titres des films correspondants. Le
résultat obtenu sera affiché à l’écran .
La fonction de map produit des paires, constituées du genre du film et d'un titre de film
correspondant. La fonction de reduce prend comme arguments : un genre de film et la liste
des films produits par le map.
b) Formulez la fonction MapReduce afin d'obtenir pour chaque genre de film uniquement la
liste des films français.
Nous travaillons sur une nouvelle collection « moviesRefs » dans laquelle un film ne contient que la
référence aux artistes et au metteur en scène qui se trouvent dans une seconde collection
« artists » :
{
"_id" : "movie:58",
"title" : "Une journée en enfer",
"year" : 1995,
"genre" : "Action",
"summary" : "John McClane est cette fois-ci aux prises avec un maître chanteur, facétieux et
dangereux, qui dépose des bombes dans New York.",
"country" : "USA",
"director" : {
"_id" : "artist:168"
},
"actors" : [
{
"_id" : "artist:27",
"role" : "McClane"
},
{
"_id" : "artist:38",
"role" : "Zeus Carver"
},
{
"_id" : "artist:169",
"role" : "Simon Gruber"
}
]
} …..
{
"_id" : "artist:27",
"last_name" : "Willis",
"first_name" : "Bruce",
"birth_date" : "1955"
} …..
Ecrire le script de jointure en javascript (côté client), qui donne les titres de tous les films, leur année de
production avec le nom et prénom de leur réalisateur.