MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come verificare se un indice è nascosto in MongoDB

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 .