Da MongoDB 4.4, è possibile nascondere un indice dal pianificatore di query. Ciò ti consente di valutare il potenziale impatto dell'eliminazione di un indice senza effettivamente eliminare l'indice.
Puoi usare getIndexes()
metodo per verificare se un indice è nascosto o meno. Se un indice è nascosto, quell'indice visualizzerà un hidden
campo come avente un valore di true
(es. "hidden" : true
).
Esempio
Ecco un esempio di chiamata a getIndexes()
per restituire tutti gli indici su una raccolta denominata pets
:
db.pets.getIndexes()
Risultato:
[ { "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 } ]
Possiamo vedere che ci sono tre indici e il terzo è nascosto. Lo sappiamo perché ha "hidden" : true
.