No MongoDB, você pode usar o
getIndexes()
para obter uma lista de índices em uma coleção. Você também pode percorrer cada coleção em um banco de dados para retornar todos os índices no banco de dados.
Listar índices para uma coleção específica
O
db.collection.getIndexes()
O método retorna os índices em uma determinada coleção. Substitua a collection
parte para o nome real da coleção. Mais especificamente, esse método retorna uma matriz que contém uma lista de documentos que identificam e descrevem os índices existentes na coleção, incluindo índices ocultos.
Exemplo:
db.posts.getIndexes()
Resultado:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "title" : 1 }, "name" : "title_1" }, { "v" : 2, "key" : { "tags" : 1 }, "name" : "tags_1" } ]
Neste exemplo, as
posts
coleção tem três índices. Listar todos os índices no banco de dados atual
Podemos levar o exemplo anterior um passo adiante e fazer um loop por todas as coleções no banco de dados atual, listando todos os índices de cada coleção.
Código de exemplo:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes on " + collection + ":");
printjson(indexes);
});
Exemplo de resultado:
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_" } ]
Neste exemplo, há quatro coleções:artigos, funcionários, postagens e produtos, cada uma com um ou mais índices.