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