В 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_" } ] В този пример има четири колекции:статии, служители, публикации и продукти, всяка с един или повече индекси.