Pregunta

¿Hay una manera de ver una lista de índices en una colección en MongoDB con cáscara? He leído a través http://www.mongodb.org/display/DOCS/Indexes pero No veo nada

¿Fue útil?

Solución

Desde el shell:

db.test.getIndexes()

Para obtener ayuda de la consola debería probar:

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

Otros consejos

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

use "yourdbname"

db.system.indexes.find()

Si desea listar todos los índices:

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

Asegúrese de que utiliza su colección:

db.collection.getIndexes()

http://docs.mongodb.org/manual/administration / índices / # información sobre índices -

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

db.collectionName.stats().indexSizes

También comprobar que db.collectionName.stats() da un montón de información interesante como paddingFactor, tamaño de la colección y el número de elementos en el interior de la misma.

Teniendo esto un paso más allá, si desea encontrar todos los índices de todas las colecciones, este script (modificado a partir de la escritura de Juan Carlos Farah aquí ) le da una salida útil, incluyendo una copia impresa de los datos JSON í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);
         });


    });

});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top