MongoDB에서 이미 생성된 컬렉션(collection)은 drop() 메서드를 사용하여 간단하게 삭제할 수 있습니다. 이 글에서는 MongoDB 셸과 Java 프로그램 두 가지 방법으로 컬렉션을 삭제하는 과정을 단계별로 살펴보겠습니다.
drop() 메서드 기본 문법
db.coll.drop()
각 요소의 의미는 다음과 같습니다.
db: 현재 사용 중인 데이터베이스
coll: 삭제하려는 컬렉션의 이름
MongoDB 셸에서 삭제하기
먼저 MongoDB 데이터베이스에 3개의 컬렉션이 생성되어 있다고 가정해 보겠습니다.
> use sampleDatabase
switched to db sampleDatabase
> db.createCollection("students")
{ "ok" : 1 }
> db.createCollection("teachers")
{ "ok" : 1 }
> db.createCollection("sample")
{ "ok" : 1 }
> show collections
sample
students
teachers다음 명령어를 실행하면 sample이라는 이름의 컬렉션이 삭제됩니다.
> db.sample.drop() true > show collections students teachers
drop() 메서드가 성공적으로 실행되면 true가 반환되고, 이후 show collections 명령으로 목록을 확인하면 해당 컬렉션이 사라진 것을 볼 수 있습니다.
Java 프로그램으로 삭제하기
Java에서는 com.mongodb.client.MongoCollection 인터페이스에서 제공하는 drop() 메서드를 호출하여 현재 컬렉션을 삭제할 수 있습니다.
사전 준비 사항
시스템에 MongoDB가 설치되어 있어야 합니다.
Java 프로젝트의 pom.xml 파일에 아래 의존성(dependency)을 추가해야 합니다.
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.2</version>
</dependency>구현 절차
MongoClient 클래스를 인스턴스화하여 MongoDB 클라이언트를 생성합니다.
getDatabase() 메서드를 사용해 데이터베이스에 연결합니다.
getCollection() 메서드로 삭제하려는 컬렉션 객체를 가져옵니다.
해당 객체에서 drop() 메서드를 호출하여 컬렉션을 삭제합니다.
전체 예제 코드
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.MongoClient;
public class DropingCollection {
public static void main( String args[] ) {
// Mongo 클라이언트 생성
MongoClient mongo = new MongoClient( "localhost" , 27017 );
// 데이터베이스 연결
MongoDatabase database = mongo.getDatabase("mydatabase");
// 여러 개의 컬렉션 생성
database.createCollection("sampleCollection1");
database.createCollection("sampleCollection2");
database.createCollection("sampleCollection3");
database.createCollection("sampleCollection4");
// 컬렉션 목록 조회
MongoIterable<String> list = database.listCollectionNames();
System.out.println("List of collections:");
for (String name : list) {
System.out.println(name);
}
// sampleCollection4 컬렉션 삭제
database.getCollection("sampleCollection4").drop();
System.out.println("Collection dropped successfully");
System.out.println("List of collections after the delete operation:");
for (String name : list) {
System.out.println(name);
}
}
}실행 결과
List of collections: sampleCollection4 sampleCollection1 sampleCollection3 sampleCollection2 Collection dropped successfully List of collections after the delete operation: sampleCollection1 sampleCollection3 sampleCollection2
실행 결과를 보면 4개의 컬렉션이 생성된 후 sampleCollection4가 성공적으로 삭제되고, 최종 목록에는 나머지 3개의 컬렉션만 남아 있는 것을 확인할 수 있습니다.
마무리
MongoDB에서 컬렉션 삭제는 매우 간단하지만, 한 번 삭제된 컬렉션과 그 안의 문서는 복구할 수 없으므로 운영 환경에서는 신중하게 사용해야 합니다. 특히 Java 애플리케이션에서 자동화 로직으로 drop()을 호출할 경우, 대상 컬렉션 이름이 정확한지 반드시 검증한 후 실행하는 것이 안전합니다.