Requêtes supplémentaires

Corrigé de TD pour un cours dispensé à l’université de Rennes 2

Romain Tavenard

1 Avant-propos

Les bases de données utilisées ici sont les mêmes que celles utilisées lors du TD précédent.

2 La base test

  1. Affichez les titres (mais pas les autres clés) de tous les posts de la base.

3 La base etudiants

  1. Affichez la liste des étudiantes sans note.

  2. Affichez la liste des étudiants nés en 1995.

  3. Affichez la liste des étudiants ayant au moins une note supérieure à 13.

  4. Affichez la liste des étudiants ayant au moins une note comprise entre 10 et 15. Pour cela, jetez un oeil à l’aide en ligne pour le mot-clé $elemMatch : http://docs.mongodb.org/manual/reference/operator/query/elemMatch/

  5. Affichez la liste des étudiants ayant toutes leurs notes supérieures ou égales à 10. Ici, il pourra être utile de reformuler la requête sous sa forme négative : on veut tous les étudiants pour lesquels il n’existe pas de note inférieure à 10. Vous aurez donc probablement besoin de l’opérateur $not pour lequel vous trouverez de l’aide en ligne : http://docs.mongodb.org/manual/reference/operator/query/not/

  6. Même question en rejetant les étudiants n’ayant pas eu de note.

4 La base food

  1. Combien y a-t-il de restaurants pour lesquels le zipcode est "10462" ? Pour mettre en place des conditions sur des clés de sous-document (ici, le sous-document address), on peut utiliser la syntaxe suivante :
> db.collec.find({"sousdoc.cle": valeur})
  1. Affichez la liste des notes attribuées à des restaurants du quartier "Manhattan" (attribut grades.grade).

  2. Affichez la liste des restaurants ayant au moins une note "C".

  3. Affichez la liste des restaurants n’ayant aucune note "C".

  4. Affichez la liste des restaurants n’ayant que des notes "A".