문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

db.collection.drop()

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 예제
db.collection.drop(<options>)

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 데이터베이스 명령이나 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다 .

데이터베이스 명령에 대해서는 drop 명령을 참조하십시오.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

레거시 mongo 셸 문서는 해당 MongoDB 서버 릴리스 문서를 참조하세요.

Mongo 셸 V4.4

데이터베이스에서 collection 또는 를 제거합니다. 메서드는 삭제된 collection과 관련된 모든 인덱스도 제거합니다. 메서드는 drop 명령을 감싸는 래퍼를 제공합니다.

반환합니다:
  • true 는 collection을 성공적으로 삭제한 경우 반환됩니다.
  • false 삭제한 컬렉션이 존재하지 않는 경우 [false] 반환

참고

샤드 클러스터에서 실행되면 db.collection.drop()은 항상 true를 반환합니다.

다음 환경에서 호스팅되는 배포에 db.collection.drop() 사용할 수 있습니다.

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

drop() 메서드의 형식은 다음과 같습니다.

db.collection.drop( { writeConcern: <document> } )

drop() 메서드는 다음 필드가 있는 선택적 문서를 사용합니다.

필드
설명
쓰기 고려

선택 사항.작업의 쓰기 고려 를 db.collection.drop() 표현하는 문서입니다. 기본 쓰기 고려를 사용하려면 생략합니다.

샤드 클러스터에서 실행하는 경우 는 명령과mongos 해당 drop 헬퍼 의 쓰기 고려를 db.collection.drop() "majority"로 변환합니다.

  • db.collection.drop() 메서드 및 drop 명령은 삭제된 컬렉션에서 열린 모든 변경 스트림 에 대해 무효화 를 생성합니다.

  • db.collection.drop() 메서드 및 drop 명령은 컬렉션을 삭제하기 전에 대상 컬렉션에서 진행 중인 모든 인덱스 빌드를 중단합니다.

    복제본 세트 또는 샤드 복제본 세트의 경우 기본 인덱스에서 인덱스를 중단해도 보조 인덱스 빌드가 동시에 중단되지는 않습니다. MongoDB가 프라이머리 인덱스에서 지정된 인덱스에 대해 진행 중인 빌드를 중단하려고 시도하고 성공하면 연결된 abort oplog 항목을 생성합니다. 복제된 진행 중인 빌드가 있는 세컨더리 멤버는 인덱스 빌드를 커밋하거나 중단하기 전에 프라이머리에서 oplog 항목을 커밋하거나 중단할 때까지 기다립니다.

  • 컬렉션을 삭제하면 관련된 영역/태그 범위가 삭제됩니다.

  • MongoDB 부터 5 0시작. ,drop 명령 및 메서드는 에서 관리 데이터베이스 db.collection.drop() 또는 config 데이터베이스 에서 컬렉션을 삭제하려고 mongos 하면 오류를 반환합니다. 이러한 컬렉션을 삭제하려면 config 서버 에 연결하여 해당 서버에서 명령을 실행합니다.

    경고

    관리 데이터베이스 또는 config 데이터베이스에서 collection을 삭제하면 클러스터가 사용할 수 없는 상태가 될 수 있습니다.

샤드 클러스터에서 이전에 삭제한 collection과 이름이 같은 collection을 MongoDB 5.0 이전에 생성하면 mongos에서 잘못된 샤드로 작업을 전달할 수 있습니다. 이러한 상황을 방지하려면 아래의 버전별 지침을 사용하세요.

MongoDB 5.0 이상 버전을 실행하는 샤드 클러스터의 경우 특별한 조치가 필요하지 않습니다. drop() 메서드를 사용한 다음 같은 이름의 새 컬렉션을 만듭니다.

샤드 cluster의 경우 drop() 메서드를 사용한 다음 동일한 이름으로 새 collection을 생성하는 경우 다음 중 하나를 수행해야 합니다.

캐시된 라우팅 테이블을 플러시하는 것은 db.collection.remove()로 샤드 컬렉션을 제거하는 것보다 빠르기 때문에 선호되는 절차입니다. 캐시 플러시를 방지하려는 경우에만 remove() 메서드를 사용합니다.

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

db.collection.drop() 는 작업 기간 동안 지정된 컬렉션에 대한 배타 락을 얻습니다. 컬렉션에 대한 모든 후속 작업은 db.collection.drop() 에서 잠금을 해제할 때까지 기다려야 합니다.

MongoDB 4 이전 버전.2, db.collection.drop() 이(가) 상위 데이터베이스에 대한 배타 락을 획득하여 작업이 완료될 때까지 데이터베이스 모든 해당 컬렉션에 대한 모든 작업을 차단합니다.

다음 연산은 현재 데이터베이스에서 students 컬렉션을 삭제합니다.

db.students.drop()

db.collection.drop() 옵션 문서를 수락합니다.

다음 연산은 현재 데이터베이스에서 students 컬렉션을 삭제합니다. 이 연산은 1 쓰기 고려를 사용합니다.

db.students.drop( { writeConcern: { w: 1 } } )
← db.collection.distinct()

이 페이지의 내용