Depuis MongoDB 4.4, il est possible de masquer un index du planificateur de requêtes. Cela vous permet d'évaluer l'impact potentiel de la suppression d'un index sans supprimer réellement l'index.
Vous pouvez utiliser le getIndexes()
méthode pour vérifier si un index est masqué ou non. Si un index est masqué, cet index affichera un hidden
champ comme ayant une valeur de true
(c'est-à-dire "hidden" : true
).
Exemple
Voici un exemple d'appel de getIndexes()
pour retourner tous les index sur une collection appelée pets
:
db.pets.getIndexes()
Résultat :
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "name" : 1, "type" : -1 }, "name" : "idx_name_1_type_-1" }, { "v" : 2, "key" : { "weight" : -1 }, "name" : "idx_weight_-1", "hidden" : true } ]
Nous pouvons voir qu'il y a trois index, et le troisième est caché. Nous le savons car il a "hidden" : true
.