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

Java로 MongoDB의 전체 데이터베이스 목록을 조회하는 방법

MongoDB에서 데이터베이스 목록 확인하기

MongoDB 셸(mongo shell)에서는 show dbs 명령어 하나만 입력하면 서버에 존재하는 모든 데이터베이스의 목록을 손쉽게 확인할 수 있습니다.

> show dbs
admin
config
local
myDatabase
sampleDatabase
students
test
testDB

Java 코드로 데이터베이스 목록 가져오기

Java 애플리케이션에서 MongoDB의 모든 데이터베이스 이름을 조회하려면 MongoClient 객체가 제공하는 listDatabaseNames() 메서드를 사용하면 됩니다. 참고로 구버전 드라이버에서 제공되던 getDatabaseNames() 메서드는 현재 지원 중단(deprecated)되었으므로, 최신 MongoDB Java 드라이버에서는 listDatabaseNames()를 사용하는 것이 권장됩니다.

listDatabaseNames() 메서드는 MongoIterable<String> 타입을 반환하기 때문에, for-each 문을 활용해 각 데이터베이스의 이름을 순차적으로 순회하며 출력할 수 있습니다.

예제 코드

import com.mongodb.client.MongoIterable;
import com.mongodb.MongoClient;

public class ListOfDatabases {
    public static void main(String args[]) {
        // Mongo 클라이언트 생성
        MongoClient mongo = new MongoClient("localhost", 27017);
        // 데이터베이스 이름 목록 조회
        MongoIterable<String> list = mongo.listDatabaseNames();
        for (String name : list) {
            System.out.println(name);
        }
    }
}

실행 결과

위 코드를 실행하면 MongoDB 셸에서 show dbs 명령어를 실행했을 때와 동일한 결과가 콘솔에 출력됩니다.

admin
config
local
myDatabase
sampleDatabase
students
test
testDB

정리

MongoDB에서 데이터베이스 목록을 확인하는 방법은 크게 두 가지입니다. 셸 환경에서는 show dbs 명령어를, Java 애플리케이션에서는 MongoClientlistDatabaseNames() 메서드를 사용하면 됩니다. 두 방식 모두 동일한 결과를 반환하므로, 개발 환경에 맞는 방법을 선택해 활용하시기 바랍니다.