다음 형식 중 하나를 사용하여 MongoDB 연결 문자열을 지정할 수 있습니다.
SRV 연결 형식: DNS SRV 기록에 해당하는 호스트 이름이 포함된 연결 문자열입니다. 운전자 또는
mongosh
가 기록 쿼리하여 또는 인스턴스를mongos
mongod
실행 중인 호스트를 확인합니다.표준 연결 문자열 형식:
mongod
인스턴스 또는mongos
인스턴스를 실행 중인 호스트를 모두 지정하는 연결 문자열입니다.
MongoDB Atlas 클러스터는 온라인 아카이브에연결하지 않는 한 SRV 연결 형식을 사용합니다.
연결 문자열에 지정된 호스트와 포트에 직접 연결하려면 directConnection
옵션을 true
로 설정합니다. directConnection
및 다른 연결 문자열 옵션에 대한 자세한 내용은 연결 문자열 옵션을 참조하세요.
SRV 연결 형식
MongoDB는 DNS 구성형 시드 목록을 지원합니다. DNS를 사용하여 가용 서버 목록을 구성하면 배포서버의 유연성이 향상되고, 클라이언트를 재구성하지 않고도 서버를 교대로 변경할 수 있습니다.
SRV URI 연결 체계의 형식은 다음과 같습니다.
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]
더 많은 예시를 보려면 다음 페이지를 참조하세요.
연결 문자열 구성 요소
연결 문자열에 포함되는 구성 요소는 다음과 같습니다.
구성 요소 | 설명 | |
---|---|---|
| 표준 연결 형식( | |
| 선택 사항. 인증 자격 증명. 지정된 경우 클라이언트 는 사용자 이름 또는 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩 을 사용하여 변환해야 합니다.
| |
|
포트 번호를 지정하지 않으면 기본 포트 SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 | |
| 선택 사항. 연결 string 에
SRV Connection Format(SRV 연결 | |
| 선택 사항. 연결별 옵션을 이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 |
DNS 시드 목록 사용하려면 mongodb+srv
표준 mongodb
대신 접두사가 인 표준 연결 문자열 과 동일한 구문을 사용합니다. +srv
는 뒤에 오는 호스트 이름이 DNS SRV 기록 에 해당함을 클라이언트 에 나타냅니다. 운전자 또는 mongosh
는 기록에 대해 DNS를 쿼리하여 mongod
또는 mongos
인스턴스를 실행 중인 호스트를 확인합니다.
참고
+srv
형식을 사용하려면 hostname
, domain
및 top-level domain (TLD)
을(를) <hostname>.<domain>.<TLD>.
형식으로 지정해야 합니다. 이 표는 자리 표시자가 예시 값에 어떻게 상응하는지를 보여줍니다.
자리 표시자 | 예시 |
---|---|
|
|
|
|
|
|
|
|
이 예시에서는 <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
연결 문자열 구성 요소
연결 문자열에 포함되는 구성 요소는 다음과 같습니다.
구성 요소 | 설명 | |
---|---|---|
| 표준 연결 형식( | |
| 선택 사항. 인증 자격 증명. 지정된 경우 클라이언트 는 사용자 이름 또는 비밀번호에 다음 문자가 포함된 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
| |
|
포트 번호를 지정하지 않으면 기본 포트 SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 | |
| 선택 사항. 연결 string 에
SRV Connection Format(SRV 연결 | |
| 선택 사항. 연결별 옵션을 이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 |