AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

dropIndexes (데이터베이스 명령)

dropIndexes

버전 6.0에서 변경되었습니다.

명령은 지정된 컬렉션 에서 하나 dropIndexes 이상의 인덱스( 필드 의 인덱스 와 마지막 남은 샤드 키 인덱스 제외)를 삭제합니다._id

팁

mongosh에서 이 명령은db.collection.dropIndex()및db.collection.dropIndexes()헬퍼 메서드를 통해서도 실행 수 있습니다.

헬퍼 메서드는 mongosh 사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하세요.

명령은 다음과 같은 구문을 가집니다:

db.runCommand(
{
dropIndexes: <string>,
index: <string|document|arrayofstrings>,
writeConcern: <document>, comment: <any>
}
)

이 명령은 다음 필드를 사용합니다.

필드
유형
설명

dropIndexes

문자열

인덱스를 제거할 컬렉션의 이름입니다.

index

문자열 또는 문자열의 문서 또는 배열

제거할 인덱스입니다.

  • _id 인덱스와 마지막으로 남은 샤드 키 인덱스(있는 경우)를 제외한 모든 인덱스를 컬렉션에서 제거하려면 "*"를 지정합니다.

  • 단일 인덱스를 제거하려면 인덱스 이름, 인덱스 사양 문서(텍스트 인덱스가 아닌 경우) 또는 인덱스 이름의 배열을 지정합니다. 텍스트 인덱스를 제거하려면 인덱스 사양 문서 대신 인덱스 이름을 지정합니다. 이 인덱스가 마지막 남은 샤드 키 인덱스인 경우 dropIndexes는 오류를 발생시킵니다.

  • 여러 인덱스를 삭제하려면 인덱스 이름의 배열을 지정합니다.

쓰기 고려

문서

선택 사항. 명령의 쓰기 고려 drop (write concern) 를 Express하는 문서입니다. 기본 쓰기 고려 (write concern)를 사용하려면 생략합니다.

comment

any

선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.

댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다.

MongoDB 부터 6.0 를dropIndexes 사용하여 마지막 남은 샤드 키 호환 인덱스 제거 하려고 하면 "*" 오류가 dropIndexes 발생합니다. 를 로 전달하면 _id 인덱스 와 마지막 남은 샤드 키 호환 인덱스(있는 경우)를 제외한 모든 인덱스가 삭제됩니다.

MongoDB 부터는 5.2 다른 인덱스 에서 빌드 진행 중이더라도 를 사용하여 동일한 컬렉션 에 있는 기존 인덱스를 삭제할 수 있습니다. 이전 버전에서는 인덱스 빌드 진행 중일 때 다른 인덱스 삭제하려고 하면 dropIndexes BackgroundOperationInProgressForNamespace 오류가 발생했습니다.

작업은 삭제되는 인덱스 사용 중인 쿼리만 종료합니다. 여기에는 쿼리 계획의 일부로 인덱스 고려하는 쿼리가 포함될 수 있습니다. dropIndexes

dropIndexes는 작업 기간 동안 지정된 컬렉션 에 대한 배타 락 얻습니다. 컬렉션 에 대한 모든 후속 작업은 가 락 해제할 때까지 기다려야 합니다.dropIndexes

존재하지 않는 인덱스가 포함된 인덱스 이름 배열이 메서드에 전달되면 메서드는 지정된 인덱스를 제거하지 않고 오류를 발생시킵니다.

_id 필드에서 기본 인덱스를 제거할 수 없습니다.

텍스트 인덱스를 제거하려면 인덱스 사양 문서 대신 인덱스 이름을 지정합니다.

에 지정된 인덱스 dropIndexes 여전히 빌드 중이면 는dropIndexes 진행 중인 빌드 중지하려고 시도합니다. 인덱스 빌드 중지하면 빌드된 인덱스 삭제하는 것과 동일한 효과가 있습니다.

복제본 세트의 경우 프라이머리 에서 를 dropIndexes 실행. 프라이머리 인덱스 빌드 중지하고 관련 & "abortIndexBuild"를 생성합니다. oplog 항목. "abortIndexBuild" oplog 항목이 진행 중인 인덱스 빌드 중지하고 빌드 작업 삭제합니다. 인덱스 빌드 프로세스에 대한 자세한 설명은 인덱스 빌드 프로세스 를 참조하세요.

currentOp을 사용하여 createIndexes 또는 db.collection.createIndexes() 작업과 관련된 인덱스 빌드를 식별합니다. 예는 활성 인덱싱 작업을 참조하세요.

MongoDB는 쿼리 플래너에서 인덱스를 숨기거나 숨김 해제하는 기능을 제공합니다. 플래너에서 인덱스를 숨기면 실제로 인덱스를 제거하지 않고도 인덱스 제거의 잠재적 영향을 평가할 수 있습니다.

평가 후 사용자가 인덱스를 제거하기로 결정하면 숨겨진 인덱스를 제거할 수 있습니다. 즉, 인덱스를 제거하기 위해 먼저 숨기기를 해제할 필요가 없습니다.

하지만 영향이 부정적이라면 사용자는 제거된 인덱스를 다시 만들지 않고도 인덱스 숨김을 해제할 수 있습니다. 또한 인덱스는 숨겨진 상태에서도 완전히 유지되므로 숨김을 해제하면 인덱스를 즉시 사용할 수 있습니다.

숨겨진 인덱스에 대한 자세한 내용은 숨겨진 인덱스를 참조하세요.

  • _id 이 아닌 모든 인덱스를 삭제하려면 index 에 "*" 를 지정합니다.

    db.runCommand( { dropIndexes: "collection", index: "*" } )
  • 단일 인덱스를 제거하려면 제거하려는 인덱스의 이름을 지정하여 명령을 실행합니다. 예를 들어, age_1이라는 인덱스를 제거하려면 다음 명령을 사용합니다.

    db.runCommand( { dropIndexes: "collection", index: "age_1" })

    mongosh는 헬퍼 메서드 및 db.collection.dropIndex() 를 db.collection.dropIndexes() 제공합니다.

    db.collection.dropIndex("age_1");
  • 여러 인덱스를 제거하려면 인덱스 이름의 배열을 지정하여 명령을 실행합니다.

    db.runCommand( { dropIndexes: "collection", index: [ "age_1", "age_1_status_1" ] } )
이 페이지 평가하기