Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ /

연결 문자열 형식

다음 형식 중 하나를 사용하여 MongoDB 연결 문자열을 지정할 수 있습니다.

MongoDB Atlas 클러스터는 온라인 아카이브에연결하지 않는 한 SRV 연결 형식을 사용합니다.

연결 문자열에 지정된 호스트와 포트에 직접 연결하려면 directConnection 옵션을 true로 설정합니다. directConnection 및 다른 연결 문자열 옵션에 대한 자세한 내용은 연결 문자열 옵션을 참조하세요.

MongoDB는 DNS 구성형 시드 목록을 지원합니다. DNS를 사용하여 가용 서버 목록을 구성하면 배포서버의 유연성이 향상되고, 클라이언트를 재구성하지 않고도 서버를 교대로 변경할 수 있습니다.

SRV URI 연결 체계의 형식은 다음과 같습니다.

mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

더 많은 예시를 보려면 다음 페이지를 참조하세요.

연결 문자열에 포함되는 구성 요소는 다음과 같습니다.

구성 요소
설명

mongodb:// or mongodb+srv://

표준 연결 형식(mongodb://) 또는 SRV 연결 형식(mongodb+srv://)의 문자열임을 식별하는 데 필요한 접두사입니다. 각 형식에 대해 자세히 학습 표준 연결 문자열 형식 및 SRV 연결 형식을 참조하세요.

username:password@

선택 사항. 인증 자격 증명.

지정된 경우 클라이언트 는 authSource 에 사용자 인증을 시도합니다. authSource 가 지정되지 않은 경우 클라이언트 는 defaultauthdb 에 사용자 인증을 시도합니다. 그리고 defaultauthdb 이(가) 지정되지 않은 경우 admin 데이터베이스 로 이동합니다.

사용자 이름 또는 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩 을 사용하여 변환해야 합니다.

$ : / ? # [ ] @

authSource도 참조하세요.

host[:port]

mongod 인스턴스(또는 샤딩된 클러스터의 경우 mongos 인스턴스)를 실행 중인 호스트(및 선택 가능한 포트 번호). 호스트 이름, IP 주소 또는 UNIX 도메인 소켓을 지정할 수 있습니다. 해당 배포서버 토폴로지에 적합한 수만큼 호스트를 지정하세요.

  • 독립형의 경우 독립형 mongod 인스턴스의 호스트 이름을 지정하세요.

  • 복제본 세트의 경우 복제본 세트 구성에 명시된 대로 mongod 인스턴스의 호스트 이름을 지정하세요.

  • 샤딩된 클러스터의 경우 mongos 인스턴스의 호스트 이름을 지정하세요.

포트 번호를 지정하지 않으면 기본 포트 27017이(가) 사용됩니다.

SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 mongosh가 구문 분석 오류를 제기하며 DNS 확인을 수행하지 않습니다.

/defaultauthdb

선택 사항. 연결 string 에 username:password@ 인증 자격 증명 이 포함되어 있지만 authSource 옵션이 지정되지 않은 경우 사용할 인증 데이터베이스 입니다.

authSourcedefaultauthdb 이(가) 모두 지정되지 않은 경우 클라이언트 admin 데이터베이스에 대해 지정된 사용자 인증을 시도합니다. 자세한 내용은 authSource를 참조하세요.

SRV Connection Format(SRV 연결 authSource 형식)을 사용하는 Atlas 배포서버의 admin 경우,TXT DNS 기록 에서 이(가)(으)로 자동 설정하다 됩니다. Atlas 배포서버에 연결하는 방법에 대한 자세한 내용은 Atlas 클러스터에 연결을 참조하세요.

?<options>

선택 사항. 연결별 옵션을 <name>=<value> 쌍으로 지정하는 쿼리 string 입니다. 이러한 옵션에 대한 전체 설명은 연결 string 옵션 을 참조하세요.

이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 host 및 옵션 문자열의 첫 문자인 물음표(?) 사이에 슬래시(/)를 지정해야 합니다.

DNS 시드 목록 사용하려면 mongodb+srv 표준 mongodb 대신 접두사가 인 표준 연결 문자열 과 동일한 구문을 사용합니다. +srv 는 뒤에 오는 호스트 이름이 DNS SRV 기록 에 해당함을 클라이언트 에 나타냅니다. 운전자 또는 mongosh 는 기록에 대해 DNS를 쿼리하여 mongod 또는 mongos 인스턴스를 실행 중인 호스트를 확인합니다.

참고

+srv 연결 문자열 수정자를 사용하면 연결에서 자동으로tls(또는 이에 상응하는ssl ) 옵션을 true로 설정합니다. 이 동작을 재정의하려면 연결 쿼리 문자열에서 tls (또는 이에 상응하는 ssl) 옵션을 false 로 명시적으로 설정하다.

+srv 형식을 사용하려면 hostname, domaintop-level domain (TLD)을(를) <hostname>.<domain>.<TLD>. 형식으로 지정해야 합니다. 이 표는 자리 표시자가 예시 값에 어떻게 상응하는지를 보여줍니다.

자리 표시자
예시

<hostname>

server

<domain>

example

<TLD>

com

<hostname>.<domain>.<TLD>

server.example.com

이 예시에서는 <hostname>.<domain>.<TLD> 형식을 올바르게 사용하는 DNS 시드 목록 연결 문자열을 보여줍니다. 이 문자열은 비밀번호 D1fficultP%40ssw0rd을(를) 사용하여 사용자 myDatabaseUser(으)로 인증합니다.

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/

해당 DNS 구성은 다음 내용과 유사합니다.

Record TTL Class Priority Weight Port Target
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27317 mongodb1.example.com.
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27017 mongodb2.example.com.

개별 SRV 레코드는 _mongodb._tcp.<hostname>.<domain>.<TLD> 형식이어야 합니다.

클라이언트 시드 목록 의 멤버에 연결되면 클라이언트 연결할 수 있는 복제본 세트 멤버 목록을 검색합니다. 클라이언트는 종종 시드 목록에 DNS 별칭을 사용하므로 호스팅하다 원래 시드 목록 과 다른 서버 목록을 반환할 수 있습니다. 이 경우 클라이언트는 시드 목록 에 나열된 호스트 이름 대신 복제본 세트 에서 제공한 호스트 이름을 사용하여 결과 복제본 세트 구성의 호스트 이름을 통해 복제본 세트 멤버에 연결할 수 있도록 합니다.

중요

SRV 레코드에서 반환된 호스트 이름은 지정된 호스트 이름과 동일한 상위 도메인(이 예시 에서는 example.com)을 주식 해야 합니다. 상위 도메인과 호스트 이름이 일치하지 않으면 연결할 수 없습니다.

DNS 시드 목록 연결 문자열은 표준 연결 문자열과 마찬가지로 옵션을 쿼리 문자열로 지정할 수 있도록 지원합니다. DNS 시드 목록 연결 문자열을 사용하면 TXT 레코드를 통해 다음 옵션을 지정할 수도 있습니다.

  • replicaSet

  • authSource

mongod 인스턴스 당 하나의 TXT 기록 만 지정할 수 있습니다. DNS에 여러 TXT 레코드가 나타나거나 TXT 기록 replicaSet 또는 authSource 이외의 옵션이 포함되어 있으면 클라이언트 오류를 반환합니다.

server.example.com DNS 항목에 대한 TXT 기록 다음 예시 와 유사합니다.

Record TTL Class Text
server.example.com. 86400 IN TXT "replicaSet=mySet&authSource=authDB"

종합하면, DNS SRV 레코드와 TXT 레코드에 지정된 옵션은 다음과 같은 표준 형식 연결 문자열로 해석됩니다.

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?replicaSet=mySet&authSource=authDB

TXT 기록 에 지정된 옵션을 재정의하려면 쿼리 문자열에 옵션을 지정합니다. 예시 를 들어, 다음 쿼리 문자열은 이전 DNS 항목의 TXT 기록 에 구성된 authSource 옵션을 재정의합니다.

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/?connectTimeoutMS=300000&authSource=aDifferentAuthDB

authSource에 대한 재정의가 주어지면 표준 형식의 해당 연결 문자열 다음 예시 와 유사합니다.

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?connectTimeoutMS=300000&replicaSet=mySet&authSource=aDifferentAuthDB

참고

연결 string 에서 식별된 호스트 이름에 해당하는 기록이 있는 사용 가능한 DNS가 없는 경우 mongodb+srv 옵션이 실패합니다. +srv 연결 string 수정자를 사용하는 경우 연결에 대해 tls (또는 이에 상응하는 ssl) 옵션이 true 로 설정하다 됩니다. 쿼리 의(또는)(으)로 (또는 이에 상응하는 ssl )tls 옵션을(으)로 명시적으로 설정하여 이 동작을 재정의할 수 false tls=false ssl=false string있습니다.

DNS 시드 목록 연결 형식을 사용하여 mongosh 복제본 세트에 연결하는 예는 mongosh 연결 옵션을 참조하세요.

이 섹션에서는 자체 호스팅된 MongoDB 독립 실행형 배포, 복제본 세트 또는 샤딩된 클러스터에 연결하는 데 사용되는 MongoDB 연결 URI의 표준 형식에 대해 설명합니다.

표준 URI 연결 체계의 형식은 다음과 같습니다.

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

연결 문자열 의 [/defaultauthdb] 필드 에 기본값 데이터베이스 지정할 수 있습니다. 클라이언트 지정된 [/defaultauthdb] 데이터베이스 기본값 데이터베이스 로 사용합니다. 연결 문자열 로 지정되지 않은 경우 MongoDB test 데이터베이스 기본값 으로 사용합니다.

authSource 연결 옵션을 사용하여 연결 문자열에 인증 데이터베이스 지정할 수 있습니다. 지정된 경우 클라이언트 이 데이터베이스 사용하여 사용자 ID 및 자격 증명 확인합니다. authSource 이(가) 지정되지 않은 경우 기본값은 [/defaultauthdb] 데이터베이스 입니다. authSource[/defaultauthdb] 이(가) 모두 지정되지 않은 경우 authSource 은(는) admin 데이터베이스 기본값으로 사용합니다.

다음 예시 연결 문자열 기본값 데이터베이스 myDefaultDB 로 설정하고 인증 데이터베이스 admin로 설정합니다.

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/myDefaultDB?authSource=admin

연결 문자열에 포함되는 구성 요소는 다음과 같습니다.

구성 요소
설명

mongodb:// or mongodb+srv://

표준 연결 형식(mongodb://) 또는 SRV 연결 형식(mongodb+srv://)의 문자열임을 식별하는 데 필요한 접두사입니다. 각 형식에 대해 자세히 학습 표준 연결 문자열 형식 및 SRV 연결 형식을 참조하세요.

username:password@

선택 사항. 인증 자격 증명.

지정된 경우 클라이언트 는 authSource 에 사용자 인증을 시도합니다. authSource 가 지정되지 않은 경우 클라이언트 는 defaultauthdb 에 사용자 인증을 시도합니다. 그리고 defaultauthdb 이(가) 지정되지 않은 경우 admin 데이터베이스 로 이동합니다.

사용자 이름 또는 비밀번호에 다음 문자가 포함된 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.

$ : / ? # [ ] @

authSource도 참조하세요.

host[:port]

mongod 인스턴스(또는 샤딩된 클러스터의 경우 mongos 인스턴스)를 실행 중인 호스트(및 선택 가능한 포트 번호). 호스트 이름, IP 주소 또는 UNIX 도메인 소켓을 지정할 수 있습니다. 해당 배포서버 토폴로지에 적합한 수만큼 호스트를 지정하세요.

  • 독립형의 경우 독립형 mongod 인스턴스의 호스트 이름을 지정하세요.

  • 복제본 세트의 경우 복제본 세트 구성에 명시된 대로 mongod 인스턴스의 호스트 이름을 지정하세요.

  • 샤딩된 클러스터의 경우 mongos 인스턴스의 호스트 이름을 지정하세요.

포트 번호를 지정하지 않으면 기본 포트 27017이(가) 사용됩니다.

SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 mongosh가 구문 분석 오류를 제기하며 DNS 확인을 수행하지 않습니다.

/defaultauthdb

선택 사항. 연결 string 에 username:password@ 인증 자격 증명 이 포함되어 있지만 authSource 옵션이 지정되지 않은 경우 사용할 인증 데이터베이스 입니다.

authSourcedefaultauthdb 이(가) 모두 지정되지 않은 경우 클라이언트 admin 데이터베이스에 대해 지정된 사용자 인증을 시도합니다. 자세한 내용은 authSource를 참조하세요.

SRV Connection Format(SRV 연결 authSource 형식)을 사용하는 Atlas 배포서버의 admin 경우,TXT DNS 기록 에서 이(가)(으)로 자동 설정하다 됩니다. Atlas 배포서버에 연결하는 방법에 대한 자세한 내용은 Atlas 클러스터에 연결을 참조하세요.

?<options>

선택 사항. 연결별 옵션을 <name>=<value> 쌍으로 지정하는 쿼리 string 입니다. 이러한 옵션에 대한 전체 설명은 연결 string 옵션 을 참조하세요.

이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 host 및 옵션 문자열의 첫 문자인 물음표(?) 사이에 슬래시(/)를 지정해야 합니다.

돌아가기

옵션

이 페이지의 내용