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

Java에서 MongoDB 데이터베이스 생성하는 방법 – getDatabase() 메서드 활용 가이드

Java에서 MongoDB 데이터베이스를 생성하기 위한 별도의 전용 메서드는 존재하지 않습니다. 대신 com.mongodb.MongoClient 클래스의 getDatabase() 메서드를 호출하면 원하는 이름의 데이터베이스를 손쉽게 생성할 수 있습니다.

MongoDB 데이터베이스의 지연 생성(Lazy Creation)

MongoDB는 데이터베이스를 즉시 물리적으로 생성하지 않는 특징이 있습니다. getDatabase() 메서드를 호출하면 해당 데이터베이스에 대한 참조만 반환되며, 실제 데이터베이스는 그 안에 컬렉션(collection)을 만들고 문서(document)를 삽입하는 시점에 생성됩니다. 따라서 아래 예제처럼 여러 개의 데이터베이스 이름을 지정해도, 데이터를 저장하기 전까지는 서버에 빈 데이터베이스가 쌓이지 않습니다.

예제 코드

import com.mongodb.MongoClient;

public class CreatingDatabase {
    public static void main(String args[]) {
        // MongoDB 클라이언트 생성
        @SuppressWarnings("resource")
        MongoClient mongo = new MongoClient("localhost", 27017);
        // 데이터베이스 접근 및 생성
        mongo.getDatabase("myDatabase1");
        mongo.getDatabase("myDatabase2");
        mongo.getDatabase("myDatabase3");
        System.out.println("Databases created successfully");
    }
}

실행 결과

Databases created successfully

위 코드는 localhost의 기본 포트인 27017번으로 MongoDB 서버에 연결한 뒤, 세 개의 데이터베이스(myDatabase1, myDatabase2, myDatabase3)에 대한 참조를 얻어오는 예제입니다. 참고로 이 상태에서 mongo 셸의 show dbs 명령으로 데이터베이스 목록을 확인하면, 문서를 삽입하기 전까지는 해당 데이터베이스가 목록에 나타나지 않습니다. 이것이 바로 앞서 설명한 MongoDB의 지연 생성 방식 때문입니다.