다음은 명령줄을 사용하여 MongoDB 데이터베이스의 모든 컬렉션에서 모든 인덱스를 삭제하는 구문입니다.
db.getCollectionNames().forEach(function(yourVariableName) { db.runCommand({dropIndexes: yourVariableName, index: "*"}); });
위의 구문은 _id를 제외한 모든 인덱스를 삭제합니다.
현재 데이터베이스를 확인해보자. 다음은 쿼리입니다.
> db
그러면 다음과 같은 출력이 생성됩니다.
Test
다음은 인덱스를 삭제하기 전에 컬렉션의 일부 인덱스를 표시하도록 하는 쿼리입니다.
> db.indexingDemo.getIndexes();
그러면 다음과 같은 출력이 생성됩니다.
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "test.indexingDemo" }, { "v" : 2, "key" : { "StudentFavouriteSubject" : 1 }, "name" : "StudentFavouriteSubject_1", "ns" : "test.indexingDemo", "background" : true } ]
다음은 MongoDB 데이터베이스의 모든 컬렉션에서 모든 인덱스를 삭제하는 쿼리입니다.
> db.getCollectionNames().forEach(function(allCollectionName) { ... db.runCommand({dropIndexes: allCollectionName, index: "*"}); ... });
다음은 인덱스가 삭제되었는지 여부를 확인하는 쿼리입니다.
> db.indexingDemo.getIndexes();
그러면 다음과 같은 출력이 생성됩니다.
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "test.indexingDemo" } ]
위의 샘플 출력을 보면 인덱스가 성공적으로 삭제되었습니다.