[MongoDB] Database - ConnectionString

2025. 5. 27. 11:41·Java/MongoDB

ConnectionString

MongDB 서버에 연결하기 위한 주소(url)를 나타내는 객체

java에서 MongoDB를 사용할 때 이 주소를 MongoClients.create()에 넘겨줘야 서버에 연결할 수 있다.

 

🔧 ConnectionString 설명

ConnectionString connectionString = new ConnectionString("mongodb://127.0.0.1:27017");

📌 의미 분석

  • "mongodb://"
    MongoDB 연결을 위한 프로토콜. 브라우저의 http://와 비슷한 개념.
  • "127.0.0.1"
    접속하려는 MongoDB 서버의 IP 주소.
    127.0.0.1은 자기 자신의 컴퓨터(로컬호스트)를 의미.
  • ":27017"
    MongoDB의 기본 포트 번호.

✅ 전체적으로 보면:

"mongodb://127.0.0.1:27017" → 자기 컴퓨터에 설치된 MongoDB 서버에 기본 포트로 연결하겠다는 의미.


🧱 ConnectionString 사용 이유

MongoDB 드라이버는 단순 문자열 대신 ConnectionString 객체를 사용.

  • 구문 오류 방지
  • 사용자 인증, 복수 서버, 옵션 등을 구조적으로 관리 가능
  • 유지보수에 좋음

💡 다양한 예시

  1. 사용자 인증 포함
     
    new ConnectionString("mongodb://username:password@127.0.0.1:27017")
  2. 복수 서버 (Replica Set)
     
    new ConnectionString("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=mySet")
  3. 옵션 포함 (예: 타임아웃, 연결풀 설정 등)
     
    new ConnectionString("mongodb://127.0.0.1:27017/?connectTimeoutMS=3000&retryWrites=true")

👩‍💻 코드 예시

package app;

import com.mongodb.ConnectionString;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

// db 관련된 작업할 때 공통적인 절차는 모듈화를 통해 분리시켜 놓는 것이 편하다.
// 수정 / 삭제가 용이하다.
public class Database {
    static MongoClient client; // MongoDB 서버에 연결하기 위한 객체
    static MongoDatabase database; // 연결된 DB 객체. 여기서는 "todo_db"라는 이름의 데이터베이스를 사용합니다.

    static {
        ConnectionString connectionString = new ConnectionString("mongodb://127.0.0.1:27017"); // 연결된 DB 객체. 여기서는 "todo_db"라는 이름의 데이터베이스를 사용합니다.
        client = MongoClients.create(connectionString);
        database = client.getDatabase("todo_db"); // 연결된 DB 객체. 여기서는 "todo_db"라는 이름의 데이터베이스를 사용합니다.
    }
    public static void close() {
        client.close();
    }

    public static MongoDatabase getDatabase() {
        return database;
    }

    public static MongoCollection<Document> getCollection(String colName) {
        MongoCollection<Document> collection = database.getCollection(colName); // 컬렉션 이름을 매개변수로 받아서 해당 컬렉션(table에 해당)을 반환
        // 예: getCollection("todos") → "todos" 컬렉션을 리턴

        return collection;
    }
}

📌 정리

  • ConnectionString은 MongoDB에 접속할 주소와 설정 정보를 담는 객체.
  • 단순한 문자열이 아닌 객체로 사용함으로써, 더 안전하고 유연한 연결 설정이 가능.

'Java > MongoDB' 카테고리의 다른 글

[MongoDB] - getCollection  (0) 2025.05.27
'Java/MongoDB' 카테고리의 다른 글
  • [MongoDB] - getCollection
3연
3연
  • 3연
    세코딩
    3연
  • 전체
    오늘
    어제
    • 분류 전체보기 (28)
      • CS (9)
        • Artificial Intelligence (0)
        • Data Structures (3)
        • Operating System (4)
        • Computer Networks (2)
      • JavaScript (0)
        • React (0)
        • Vue (0)
      • Java (2)
        • MongoDB (2)
      • Spring (1)
      • Algorithms (0)
      • News (12)
      • etc. (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
3연
[MongoDB] Database - ConnectionString
상단으로

티스토리툴바