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

Java를 사용해 MongoDB 데이터베이스의 모든 컬렉션 목록을 조회하는 방법

MongoDB에서 컬렉션 목록 확인하기

MongoDB 셸에서는 show collections 명령어를 사용하면 데이터베이스에 존재하는 모든 컬렉션의 목록을 간단하게 출력할 수 있습니다.

예제

다음과 같이 MongoDB 데이터베이스에 3개의 컬렉션이 생성되어 있다고 가정해 보겠습니다.

> use sampleDatabase
switched to db sampleDatabase
> db.createCollection("students")
{ "ok" : 1 }
> db.createCollection("teachers")
{ "ok" : 1 }
> db.createCollection("sample")
{ "ok" : 1 }

아래 명령어를 실행하면 해당 데이터베이스의 모든 컬렉션이 화면에 표시됩니다.

> use sampleDatabase
switched to db sampleDatabase
> show collections
sample
students
teachers

Java 프로그램으로 컬렉션 목록 조회하기

Java에서는 com.mongodb.client.MongoDatabase 인터페이스가 제공하는 listCollectionNames() 메서드를 사용하면 현재 데이터베이스에 있는 모든 컬렉션의 이름을 손쉽게 가져올 수 있습니다.

Java 프로그램으로 MongoDB 데이터베이스의 모든 컬렉션을 나열하려면 다음 단계를 따르면 됩니다.

  • 시스템에 MongoDB가 설치되어 있고 정상적으로 실행 중인지 확인합니다.

  • Java 프로젝트의 pom.xml 파일에 아래 의존성을 추가합니다.

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.12.2</version>
</dependency>
  • MongoClient 클래스를 인스턴스화하여 MongoDB 클라이언트를 생성합니다.

  • getDatabase() 메서드를 사용해 대상 데이터베이스에 연결합니다.

  • listCollectionNames() 메서드를 호출하여 컬렉션 이름 목록을 가져온 뒤 반복문으로 출력합니다.

예제

import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.MongoClient;
public class ListOfCollection {
    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();
        for (String name : list) {
            System.out.println(name);
        }
    }
}

실행 결과

sampleCollection3
sampleCollection2
sampleCollection4
sampleCollection1

참고 사항

위 예제는 레거시 드라이버인 mongo-java-driver 3.x 기준입니다. 최신 프로젝트에서는 mongodb-driver-sync 4.x 이상을 사용하는 것이 권장되며, 이 경우 클라이언트는 MongoClients.create("mongodb://localhost:27017") 방식으로 생성합니다. listCollectionNames() 메서드의 사용법은 동일하게 적용됩니다.