V MongoDB můžete použít getIndexes()
metoda k získání seznamu indexů v kolekci.
Můžete také procházet každou kolekci v databázi a vrátit všechny indexy v databázi.
Seznam indexů pro konkrétní sbírku
db.collection.getIndexes()
metoda vrací indexy na dané kolekci. Nahraďte collection
část pro skutečný název sbírky.
Přesněji řečeno, tato metoda vrací pole, které obsahuje seznam dokumentů, které identifikují a popisují existující indexy v kolekci, včetně skrytých indexů.
Příklad:
db.posts.getIndexes()
Výsledek:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "title" : 1 }, "name" : "title_1" }, { "v" : 2, "key" : { "tags" : 1 }, "name" : "tags_1" } ]
V tomto příkladu posts
kolekce má tři indexy.
Seznam všech indexů v aktuální databázi
Můžeme posunout předchozí příklad o krok dále a nechat jej procházet všemi kolekcemi v aktuální databázi a vypisovat všechny indexy pro každou kolekci.
Příklad kódu:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes on " + collection + ":");
printjson(indexes);
});
Příklad výsledku:
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_" } ]
V tomto příkladu jsou čtyři kolekce:články, zaměstnanci, příspěvky a produkty, každá s jedním nebo více indexy.