В MongoDB можете да използвате getIndexes()
метод за получаване на списък с индекси на колекция.
Можете също така да преминете през всяка колекция в база данни, за да върнете всички индекси в базата данни.
Списък с индекси за конкретна колекция
db.collection.getIndexes()
метод връща индексите на дадена колекция. Заменете collection
част за действителното име на колекцията.
По-конкретно, този метод връща масив, който съдържа списък с документи, които идентифицират и описват съществуващите индекси в колекцията, включително скрити индекси.
Пример:
db.posts.getIndexes()
Резултат:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "title" : 1 }, "name" : "title_1" }, { "v" : 2, "key" : { "tags" : 1 }, "name" : "tags_1" } ]
В този пример posts
колекцията има три индекса.
Избройте всички индекси в текущата база данни
Можем да вземем предишния пример една стъпка напред и да го накараме да преглежда всички колекции в текущата база данни, като изброява всички индекси за всяка колекция.
Примерен код:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes on " + collection + ":");
printjson(indexes);
});
Примерен резултат:
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_" } ]
В този пример има четири колекции:статии, служители, публикации и продукти, всяка с един или повече индекси.