Sommaire

Intersection des index Index:intersection

L’intersection des index consiste à utiliser plusieurs index pour satisfaire une requête. Prenons comme base de travail la collection meteo, contenant deux documents très simples :

db.meteo.insertMany([ 
   { 
       "ville": "Marseille",  
       "temperatures": {"journee": 38.5, "nuit": 25},  
       "date": new Date("2019-08-15"), 
       "fiable": true 
   }, { 
       "ville": "Paris",  
       "temperatures": {"journee": 28.3, "nuit": 19.6},  
       "date": new Date("2019-08-15"),  
       "fiable": true 
   } 
])

Nous allons poser deux index dessus : un premier qui cible le champ journee du document temperatures :

db.meteo.createIndex({"temperatures.journee": -1})

Un second, composé, qui cible d’abord le champ ville (classé par ordre alphabétique) puis, par ordre décroissant, le champ date :

db.meteo.createIndex({"ville": 1, "date": -1})

Voici quelques requêtes qui bénéficient de la pose de ces index :

  • Parce que le champ ville fait partie du préfixe de l’index composé : ...