W MongoDB możesz użyć getIndexes() metoda, aby uzyskać listę indeksów w kolekcji.
Możesz także przejść przez każdą kolekcję w bazie danych, aby zwrócić wszystkie indeksy w bazie danych.
Wymień indeksy dla określonej kolekcji
db.collection.getIndexes() metoda zwraca indeksy w danej kolekcji. Zastąp collection część dla rzeczywistej nazwy kolekcji.
Dokładniej, ta metoda zwraca tablicę zawierającą listę dokumentów, które identyfikują i opisują istniejące indeksy w kolekcji, w tym indeksy ukryte.
Przykład:
db.posts.getIndexes() Wynik:
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"title" : 1
},
"name" : "title_1"
},
{
"v" : 2,
"key" : {
"tags" : 1
},
"name" : "tags_1"
}
]
W tym przykładzie posts kolekcja ma trzy indeksy.
Wymień wszystkie indeksy w bieżącej bazie danych
Możemy pójść o krok dalej w poprzednim przykładzie i przejść przez wszystkie kolekcje w bieżącej bazie danych, wypisując wszystkie indeksy dla każdej kolekcji.
Przykładowy kod:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes on " + collection + ":");
printjson(indexes);
}); Przykładowy wynik:
Indexes on articles:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on employees:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on posts:
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"title" : 1
},
"name" : "title_1"
},
{
"v" : 2,
"key" : {
"tags" : 1
},
"name" : "tags_1"
}
]
Indexes on products:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ] W tym przykładzie są cztery kolekcje:artykuły, pracownicy, posty i produkty, każdy z jednym lub większą liczbą indeksów.