Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java로 MongoDB 컬렉션 삭제하기: drop() 메서드 완벽 가이드

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()을 호출할 경우, 대상 컬렉션 이름이 정확한지 반드시 검증한 후 실행하는 것이 안전합니다.