[mongodb] MongoDB의 인덱스 목록?

쉘의 mongodb에서 컬렉션의 인덱스 목록을 보는 방법이 있습니까? http://www.mongodb.org/display/DOCS/Indexes를 통해 읽었 지만 아무것도 보이지 않습니다.



답변

쉘에서 :

db.test.getIndexes()

쉘 도움말을 보려면 다음을 시도해야합니다.

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


답변

모든 색인을 나열하려면 다음을 수행하십시오.

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


답변

데이터베이스의 모든 인덱스 목록을 얻으려면 다음을 수행하십시오.

use "yourdbname"

db.system.indexes.find()


답변

컬렉션을 사용하는지 확인하세요.

db.collection.getIndexes()

http://docs.mongodb.org/manual/administration/indexes/#information-about-indexes


답변

모든 색인을 크기와 함께 출력 할 수도 있습니다.

db.collectionName.stats().indexSizes

또한 db.collectionName.stats()paddingFactor, 컬렉션 크기 및 내부 요소 수와 같은 흥미로운 정보를 많이 제공 하는지 확인 하십시오.


답변

모든 컬렉션의 모든 인덱스를 찾을하려는 경우, 한 단계 더 나아가 복용, (후안 카를로스 파라의 스크립트에서 수정이 스크립트 여기는 ) 당신에게 인덱스 정보의 JSON 인쇄물을 포함하여 몇 가지 유용한 출력을 제공합니다 :

 // 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);
         });


    });

});


답변