AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

연결 문자열 형식

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

  • SRV 연결 형식: DNS SRV 기록 에 해당하는 호스트 이름이 포함된 연결 문자열 입니다. 운전자 또는 가 mongosh 기록 쿼리하여 또는 인스턴스를 mongod mongos 실행 중인 호스트를 확인합니다.

  • 표준 연결 문자열 형식: 또는 인스턴스를 실행 모든 mongod mongos 호스트를 지정하는 연결 문자열 입니다.

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 연결 형식을 사용하는 경우 호스팅하다 하나만 지정할 mongosh 수 있고 포트는 지정할 수 없습니다. 그렇지 않으면 운전자 또는 에서 구문 분석 오류가 발생하고 DNS 확인을 수행하지 않습니다.

/defaultauthdb

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

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

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

?<options>

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

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

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

참고

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

+srv 형식을 사용하려면 hostname, domain 및 top-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

참고

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

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

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

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

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

authSource 연결 옵션 또는 연결 문자열의 [/defaultauthdb] 필드에서 인증 데이터베이스를 지정할 수 있습니다. authSource를 지정하면, 클라이언트는 해당 데이터베이스를 사용하여 사용자의 신원 및 자격 증명을 확인합니다. authSource를 지정하지 않으면, 클라이언트는 [/defaultauthdb] 를 인증 데이터베이스로 사용합니다. authSource 와 [/defaultauthdb] 가 모두 지정되지 않은 경우, 클라이언트는 admin 데이터베이스에 대해 인증합니다.

참고

mongosh에서 는[/defaultauthdb] 기본값 데이터베이스 도 설정합니다. 연결 문자열 에 기본값 데이터베이스 지정하지 않으면 는 데이터베이스 기본값 으로mongosh test 사용합니다. 드라이버와 같은 다른 MongoDB 도구는 이 필드 다르게 처리하다 할 수 있습니다. 특정 운전자 의 동작에 대해 학습 드라이버 설명서를 참조하세요.

다음 예시 연결 문자열 기본값 데이터베이스 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 연결 형식을 사용하는 경우 호스팅하다 하나만 지정할 mongosh 수 있고 포트는 지정할 수 없습니다. 그렇지 않으면 운전자 또는 에서 구문 분석 오류가 발생하고 DNS 확인을 수행하지 않습니다.

/defaultauthdb

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

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

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

?<options>

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

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

더 많은 연결 문자열 예제는 연결 문자열을 참조하세요.