In MongoDB kunt u de getIndexes()
. gebruiken methode om een lijst met indexen voor een verzameling te krijgen.
U kunt ook door elke verzameling in een database lopen om alle indexen in de database te retourneren.
Indexen voor een specifieke collectie weergeven
De db.collection.getIndexes()
methode retourneert de indexen voor een bepaalde verzameling. Vervang de collection
deel voor de eigenlijke naam van de collectie.
Meer in het bijzonder retourneert deze methode een array die een lijst met documenten bevat die de bestaande indexen in de collectie identificeren en beschrijven, inclusief verborgen indexen.
Voorbeeld:
db.posts.getIndexes()
Resultaat:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "title" : 1 }, "name" : "title_1" }, { "v" : 2, "key" : { "tags" : 1 }, "name" : "tags_1" } ]
In dit voorbeeld zijn de posts
collectie heeft drie indexen.
Lijst alle indexen in de huidige database
We kunnen het vorige voorbeeld een stap verder nemen en het door alle collecties in de huidige database laten lopen, waarbij alle indexen voor elke collectie worden weergegeven.
Voorbeeldcode:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes on " + collection + ":");
printjson(indexes);
});
Voorbeeld resultaat:
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_" } ]
In dit voorbeeld zijn er vier collecties:artikelen, medewerkers, berichten en producten, elk met een of meer indexen.