Vous êtes sur la page 1sur 4

NoSQL ISET NABEUL

TP2 MongoDb

Importation de basse de données MongoDB


Soit le fichier json restaurants.json utilisé dans ce tp. On voudrait importer cette base via
mongodb

Commandes
Pour importer la base on utilisa la commande mongoimport
mongoimport --db Restaurants --collection restaurant --file \......\restaurants\restaurants.json

Structure de la base

{
"address": {
"building": "1007",
"coord": [ -73.856077, 40.848447 ],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{ "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 },
{ "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 },
{ "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 },
{ "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 },
{ "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 }
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}

Questions
1) Ecrivez une requête MongoDB pour afficher tous les documents de la collection
restaurant
2) Ecrivez une requête MongoDB pour afficher les champs restaurant_id, name, borough
et cuisine de tous les documents du restaurant de la collection.
3) Ecrivez une requête MongoDB pour afficher les champs restaurant_id, name, borough
et cuisine et exclure le champ _id pour tous les documents de la collection restaurant.
4) Écrivez une requête MongoDB pour afficher tous les restaurants de l’arrondissement
(borough) Bronx

1
NoSQL ISET NABEUL

5) Écrivez une requête MongoDB pour afficher les 5 premiers restaurants de


l’arrondissement (borough) Bronx
6) Écrivez une requête MongoDB qui permet d’afficher les 5 restaurants se trouvant après
les 5 premiers restaurants situés dans le quartier (borough) Bronx.
7) Écrivez une requête MongoDB pour trouver les restaurants ayant obtenu un score
supérieur à 90
8) Écrivez une requête MongoDB pour trouver les restaurants ayant obtenu un score
supérieur à 80 mais inférieur à 100
9) Écrivez une requête MongoDB pour trouver les restaurants dont la latitude est inférieure
à -95.754168.
10) Écrivez une requête MongoDB pour trouver les restaurants qui ne préparent aucune
cuisine de type "américaine" et dont la note est supérieure à 70 et une latitude inférieure
à -65,754168
11) Écrivez une requête MongoDB pour trouver les restaurants qui ne préparent aucune
cuisine " American " et ont obtenu un score supérieur à 70 et situés dans une latitude
inférieure à -65,754168.
Note: Faites cette requête sans utiliser l’opérateur $and
12) Écrivez une requête MongoDB pour trouver les restaurants qui ne préparent aucune
cuisine " American " et qui ont obtenu le grade "A" et n'appartenant pas à
l'arrondissement(borough) de Brooklyn. Le document doit être affiché par ordre
décroissant de cuisine.
13) Ecrivez une requête MongoDB pour trouver l'identifiant du restaurant, son nom, son
arrondissement (borough) et sa cuisine pour les restaurants dont le nom contient 'Wil'
14) Ecrivez une requête MongoDB pour trouver le nom du restaurant, son nom, son
arrondissement(borough) et sa cuisine pour les restaurants qui contiennent "ces"
comme trois dernières lettres du nom.
15) Ecrivez une requête MongoDB pour trouver l'identifiant du restaurant, son nom, son
arrondissement(borough) et sa cuisine pour les restaurants contenant «Reg» en trois
lettres quelque part dans son nom
16) Écrivez une requête MongoDB pour trouver les restaurants de l'arrondissement
(borough) Bronx qui ont préparé un plat américain ou chinois

17) Écrivez une requête MongoDB pour trouver le restaurant Id, nom, quartier et cuisine
des restaurants appartenant à l’arrondissement (borough) de Staten Island, Queens ou
Bronx ou Brooklyn.
18) Écrivez une requête MongoDB pour trouver le restaurant Id, nom, arrondissement
(borough) et cuisine des restaurants n'appartenant pas à l'arrondissement de Staten
Island, du Queens ou du Bronx ou Brooklyn.
19) Ecrivez une requête MongoDB pour trouver l'identifiant du restaurant, son nom, son
arrondissement et sa cuisine pour les restaurants ayant obtenu un score ne dépassant
pas 10
20) Écrivez une requête MongoDB qui permet d’afficher le restaurant: Id, nom,
arrondissement et cuisine des restaurants qui ont préparé des plats sauf 'American' et
'Chinees' ou les restaurant dont le nom commence par la lettre 'Wil'
21) Ecrivez une requête MongoDB qui permet d’afficher l'identifiant du restaurant, le nom
et les grades des restaurants ayant un grade "A" et ayant obtenu un score de 11 dans
une date ISODate "2014-08-11T00: 00: 00Z" parmi de nombreuses dates d'enquête.
22) Ecrivez une requête MongoDB quipermet d’afficher l'identifiant du restaurant, le nom
et les notes des restaurants dont le deuxième élément du tableau de grades contient le
grade «A» et un score de 9 sur un ISODate "2014-08-11T00: 00: 00Z"

2
NoSQL ISET NABEUL

23) Ecrivez une requête MongoDB qui permet d’afficher l'identifiant du restaurant, son
nom, son adresse et sa location géographique pour les restaurants dont le deuxième
élément du tableau coord contient une valeur supérieure à 42 et inférieur à 52 ..
24) Ecrivez une requête MongoDB pour trier le nom des restaurants par ordre croissant
ainsi que toutes les colonnes.
25) Ecrivez une requête MongoDB pour savoir si toutes les adresses contiennent ou non
une rue( street).
26) Ecrivez une requête MongoDB pour trouver le nom du restaurant, son arrondissement,
sa longitude, sa latitude et sa cuisine pour les restaurants dont les trois premières
lettres de leur nom contiennent 'Mad'

3
NoSQL ISET NABEUL

Vous aimerez peut-être aussi