remove query index full for create compound mongodb indexing database-indexes mongodb-indexes database

query - Una lista de índices en MongoDB?



remove index mongodb (6)

¿Hay alguna manera de ver una lista de índices en una colección en mongodb en shell? Leí en http://www.mongodb.org/display/DOCS/Indexes pero no veo nada



Dando un paso más allá, si desea encontrar todos los índices en todas las colecciones, este guión (modificado a partir del guión de Juan Carlos Farah) le da algunos resultados útiles, incluida una impresión JSON de los detalles del índice:

// Switch to admin database and get list of databases. db = db.getSiblingDB("admin"); dbs = db.runCommand({ "listDatabases": 1}).databases; // Iterate through each database and get its collections. dbs.forEach(function(database) { db = db.getSiblingDB(database.name); cols = db.getCollectionNames(); // Iterate through each collection. cols.forEach(function(col) { //Find all indexes for each collection indexes = db[col].getIndexes(); indexes.forEach(function(idx) { print("Database:" + database.name + " | Collection:" +col+ " | Index:" + idx.name); printjson(indexes); }); }); });


Desde el caparazón:

db.test.getIndexes()

Para la ayuda de shell, debes probar:

help; db.help(); db.test.help();


Si desea enumerar todos los índices:

db.getCollectionNames().forEach(function(collection) { indexes = db[collection].getIndexes(); print("Indexes for " + collection + ":"); printjson(indexes); });


También puede mostrar todos sus índices junto con su tamaño:

db.collectionName.stats().indexSizes

También verifique que db.collectionName.stats() le brinde mucha información interesante como paddingFactor, el tamaño de la colección y la cantidad de elementos dentro de ella.


Y si desea obtener una lista de todos los índices en su base de datos:

use "yourdbname" db.system.indexes.find()