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.