Sommaire

Les Indexindex

Exercice 1

Un bref examen de vos fichiers journaux a révélé que la plupart des requêtes effectuées sur la collection salles cible des capacités ainsi que des départements, comme ceci :

db.salles.find({"capacite": {$gt: 500}, "adresse.codePostal": /^30/}) 
db.salles.find({"adresse.codePostal": /^30/, "capacite": {$lte: 400}})

Que proposez-vous comme index qui puisse couvrir ces requêtes ?

Détruisez ensuite l’index créé.

Exercice 2

Nous souhaitons pouvoir chercher dans les adresses des noms de voie, de cette façon :

db.salles.find({$text: {$search: "chemin"}})

Quel type d’index préconisez-vous ?

Exercice 3

Vous souhaitez pouvoir exécuter ce genre de requête retournant les documents dans l’ordre croissant d’éloignement par rapport à un point donné, quel type d’index allez-vous devoir créer ?

db.salles.find( 
   { 
       "localisation": { 
           $nearSphere: {  
               "type" : "Point",  
               "coordinates" : [ 43.923005, 5.020077 ] 
           }, 
           $minDistance: 0.5/6378, 
           $maxDistance: ...