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 객체를 사용.
- 구문 오류 방지
- 사용자 인증, 복수 서버, 옵션 등을 구조적으로 관리 가능
- 유지보수에 좋음
💡 다양한 예시
- 사용자 인증 포함
new ConnectionString("mongodb://username:password@127.0.0.1:27017")
- 복수 서버 (Replica Set)
new ConnectionString("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=mySet")
- 옵션 포함 (예: 타임아웃, 연결풀 설정 등)
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 |
---|