drop
drop
명령은 연합 데이터베이스 인스턴스 스토리지 구성에서 지정된 컬렉션 또는 뷰를 제거합니다. 와일드카드 컬렉션 함수(즉, collectionName()
)에 의해 생성된 모든 컬렉션(와일드카드 컬렉션 규칙 자체 포함)을 제거하려면 와일드카드 "*"
을 사용합니다. 와일드카드 컬렉션 함수에 의해 생성된 컬렉션은 개별적으로 제거할 수 없습니다.
구문
db.runCommand({ "drop" : "<collection-name|*>" })
db.runCommand({ "drop" : "<view-name>" })
매개변수
Parameter | 유형 | 설명 | 필수 사항입니다. |
---|---|---|---|
<collection-name> | 문자열 | 제거할 컬렉션의 이름 또는 와일드카드
| 네 |
Parameter | 유형 | 설명 | 필수 사항입니다. |
---|---|---|---|
<view-name> | 문자열 | 삭제할 뷰의 이름입니다. | 네 |
출력
명령이 성공하면 다음과 같은 출력을 반환합니다. show collections
명령을 실행하여 결과를 확인할 수 있습니다. 명령이 실패하면 권장 해결 방법은 오류 문제 해결을 참조하세요.
{ "ok" : 1, "ns" : "<database>.<collection>", "nIndexesWas" : 0 }
where:
ns
는 컬렉션 네임스페이스를 나타내며, 여기에는 데이터베이스 이름, 점(.
) 구분자, 그리고 컬렉션 이름이 포함됩니다. 예:<database>.<collection>
nIndexesWas
는 인덱스 수를 나타내며 Data Federation에서 이 값은 항상0
입니다.
명령이 성공하면 다음과 같은 출력을 반환합니다. storageGetConfig
명령을 실행하여 결과를 확인할 수 있습니다. 명령이 실패하면 권장 해결 방법은 오류 문제 해결을 참조하세요.
{ "ok" : 1, "ns" : "<database>.<view>", "nIndexesWas" : 0 }
where:
ns
는 데이터베이스 이름, 점(.
) 구분 기호 및 보기 이름을 포함하는 보기 네임스페이스를 반영합니다. 예들 들면<database>.<view>
와 같습니다.nIndexesWas
는 인덱스 수를 나타내며 Data Federation에서 이 값은 항상0
입니다.
예시
제거 컬렉션 예시
다음 예제에서는 drop
명령을 사용하여 AWS S3 스토어의 샘플 데이터셋,Airbnb 및 날씨에 매핑된 샘플 컬렉션을 제거합니다.
기본 예시
다음 예시에서는 drop
명령을 사용하여 스토리지 구성의 데이터베이스 sample
에서 샘플 컬렉션 airbnb
를 제거합니다.
use sample db.runCommand({ "drop" : "airbnb"})
이전 명령은 다음 출력을 인쇄합니다.
{ "ok" : 1, "ns" : "sample.airbnb", "nIndexesWas" : 0 }
와일드카드 예시
다음 예시에서는 drop
명령을 사용하여 스토리지 구성의 데이터베이스 sample
에서 와일드카드 컬렉션 함수(collectionName()
) 및 와일드카드 컬렉션 함수에 의해 만들어진 모든 컬렉션을 제거합니다.
use sample db.runCommand ({ "drop" : "*" })
이전 명령은 다음 출력을 인쇄합니다.
{ "ok" : 1, "ns" : "sample.*", "nIndexesWas" : 0 }
제거 뷰 예시
다음 명령은 에어비앤비 에서 'listings'라는 이름의 뷰 를 sample
제거합니다. 데이터베이스의 collection:
use sample db.runCommand({ "drop" : "listings" })
이전 명령은 다음 출력을 반환합니다.
예시
{ "ok" : 1, "ns" : "sample.listings", "nIndexesWas" : 0 }
오류 문제 해결
명령이 실패하면 다음 오류 중 하나를 반환합니다.
이유: 네임스페이스(데이터베이스, collection 또는 뷰)가 존재하지 않습니다.
{ ok: 0, errmsg: "ns not found", code: 26, codeName: "NamespaceNotFound" }
해결 방법: 명령에 지정된 네임스페이스가 유효하고 스토리지 구성에 존재하는지 확인하십시오. 필요한 경우 getStorageConfig
명령을 사용하여 스토리지 구성에서 유효한 데이터베이스, collection 및 뷰 목록을 검색합니다.
원인: 와일드카드 collection 함수 (collectionName()
) 로 만든 collection을 제거하려고 합니다.
{ ok: 0, errmsg: "cannot drop a collection created from a wildcard", code: 26, codeName: "NamespaceNotFound" }
해결 방법: 제거하려는 collection이 와일드카드 collection 함수 (collectionName()
) 에 의해 동적으로 생성된 개별 collection이 아닌지 확인하십시오. Data Federation은 와일드카드 collection 함수에서 생성된 개별 collection을 제거하는 것을 지원하지 않습니다.