연결 문자열
➤ 오른쪽 상단의 언어 선택 드롭다운 메뉴를 사용하여 다음 예시의 언어를 설정합니다.
연결 문자열을 사용하여 MongoDB 인스턴스와 다음 대상 간의 연결을 정의할 수 있습니다.
드라이버를 사용해서 연결할 경우의 애플리케이션입니다.
호환성
연결 문자열을 사용하여 다음 환경에서 호스팅되는 배포에 연결할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
연결 문자열을 찾으려면 이 단계들을 완료하세요.
MongoDB Atlas 연결 문자열 찾기
Atlas CLI를 사용하여 MongoDB Atlas 연결 문자열을 찾으려면 Atlas CLI에서 설치 및 연결한 후 다음 명령을 실행합니다. <clusterName>
을 MongoDB Atlas 클러스터 이름으로 바꾸고 <projectId>
를 프로젝트 ID로 바꿉니다.
atlas clusters connectionStrings describe <clusterName> --projectId <projectId>
자세한 내용은 Atlas 클러스터 연결 문자열 설명을 참조하세요.
Atlas UI에서 MongoDB Atlas 연결 문자열을 찾으려면 다음 단계를 따르세요.
MongoDB Atlas UI에서 프로젝트의 Clusters 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
아직 표시되지 않은 경우 사이드바에서 Clusters를 클릭합니다.
Clusters(클러스터) 페이지가 표시됩니다.
Connection Method 대화 상자를 엽니다.
연결하려는 클러스터에 대해 Connect를 클릭합니다.
Choose a Connection Method를 클릭합니다. MongoDB Atlas는 기본적으로 Standard Connection을 선택합니다. 비공개 엔드포인트를 사용하여 연결하려면 Private Endpoint를 선택하세요.
MongoDB Atlas 연결 문자열은 다음 예시와 유사합니다.
mongosh "mongodb+srv://cluster0.example.mongodb.net myFirstDatabase" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
자체 호스팅 배포서버의 연결 문자열 찾기
자체 호스팅 MongoDB Enterprise 또는 MongoDB Community 배포서버에 연결되어 있는 경우 db.getMongo()
메서드를 실행하여 해당 연결 문자열을 반환하세요.
배포서버에 연결되어 있지 않은 경우에는 사용하려는 연결 유형에 따라 연결 문자열을 정할 수 있습니다. SRV 연결 문자열 구문을 배우려면 SRV Connection Format(SRV 연결 형식)을, 표준 연결 문자열 구문을 배우려면 Standard Connection String Format(표준 연결 문자열 형식)을 참조하세요.
자체 호스팅 연결 문자열은 다음 예시와 유사합니다.
다음 복제본 세트 연결 문자열에는 이러한 요소가 포함되어 있습니다.
replicaSet
옵션복제본 세트 구성에 나열된
mongod
인스턴스의 호스트 이름액세스 제어 시행을 위해 비밀번호
D1fficultP%40ssw0rd
을 사용하여 사용자myDatabaseUser
로 인증합니다.
mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
사용자 이름 또는 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩 을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
다음과 같은 샤딩된 클러스터 연결 문자열에는 이러한 요소가 포함됩니다.
mongosh "mongodb+srv://mongos0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
다음 독립형 연결 문자열은 액세스 제어를 시행하기 위해 비밀번호 D1fficultP%40ssw0rd
를 사용하여 사용자 myDatabaseUser
로 인증합니다.
mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
다음 복제본 세트 연결 문자열에는 이러한 요소가 포함되어 있습니다.
replicaSet
옵션복제본 세트 구성에 나열된
mongod
인스턴스의 호스트 이름액세스 제어를 적용하기 위한 사용자 이름과 비밀번호:
mongosh "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
다음과 같은 샤딩된 클러스터 연결 문자열에는 이러한 요소가 포함됩니다.
연결 문자열의
mongos
호스트액세스 제어를 강화하기 위한 사용자 이름과 비밀번호
mongosh "mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
다음 독립형 연결 문자열은 액세스 제어를 적용합니다.
mongosh "mongodb://@mongodb0.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
$ : / ? # [ ] @
연결 string 옵션의 전체 목록은 SRV 연결 형식 또는 표준 연결 string 형식 을 참조하세요. 더 많은 예제는 연결 string 예제를 참조하세요.
연결 문자열 형식
다음 형식 중 하나를 사용하여 MongoDB 연결 문자열을 지정할 수 있습니다.
SRV 연결 형식: DNS SRV 레코드에 해당하는 호스트 이름이 포함된 연결 문자열입니다. 원하는 드라이버 또는
mongosh
로 레코드를 쿼리하면 어떤 호스트에서mongod
또는mongos
인스턴스를 실행 중인지 확인할 수 있습니다.표준 연결 문자열 형식:
mongod
인스턴스 또는mongos
인스턴스를 실행 중인 호스트를 모두 지정하는 연결 문자열입니다.
MongoDB Atlas 클러스터는 온라인 아카이브 에 연결하지 않는 한 SRV 연결 형식 을 사용합니다.
SRV 연결 형식
MongoDB는 DNS 구성형 시드 목록을 지원합니다. DNS를 사용하여 가용 서버 목록을 구성하면 배포서버의 유연성이 향상되고, 클라이언트를 재구성하지 않고도 서버를 교대로 변경할 수 있습니다.
SRV URI 연결 체계의 형식은 다음과 같습니다.
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]
더 많은 예제는 연결 string 예제를 참조하세요.
연결 문자열 구성 요소
연결 문자열에 포함되는 구성 요소는 다음과 같습니다.
구성 요소 | 설명 | |
---|---|---|
mongodb:// or mongodb+srv:// | 이 문자열이 표준 연결 형식( mongodb:// ) 또는 SRV 연결 형식(mongodb+srv:// )의 문자열임을 식별하는 데 필요한 접두사입니다. 각 형식에 대해 자세히 알아보려면 표준 연결 문자열 형식 및 SRV 연결 형식을 참조하세요. | |
username:password@ | 선택 사항. 인증 자격 증명. 지정된 경우 클라이언트 는 사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
| |
host[:port] |
포트 번호를 지정하지 않으면 기본 포트 SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 | |
/defaultauthdb | 선택 사항. 연결 string 에
| |
?<options> | 선택 사항. 연결별 옵션을 이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 |
DNS 시드 목록을 활용하려면 표준 mongodb
대신 접두사가 mongodb+srv
인 표준 연결 문자열과 동일한 구문을 사용하세요. +srv
는 그 뒤에 붙는 호스트 이름이 DNS SRV 레코드에 해당함을 클라이언트로 나타냅니다. 그런 다음 드라이버 또는 mongosh
는 DNS에 레코드를 쿼리하여 mongod
또는 mongos
인스턴스를 실행 중인 호스트를 확인합니다.
참고
+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
)이 특정 호스트 이름과 동일해야 합니다. 상위 도메인과 호스트 이름이 일치하지 않으면 연결할 수 없습니다.
이 예시에서는 <hostname>
이(가) 누락된 DNS 시드 목록 연결 문자열을 보여줍니다. 이는 정확하지 않으며 오류를 유발합니다.
# This connection string is missing the <hostname> and raises a connection error mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@example.com/
DNS 시드 목록 연결 문자열은 표준 연결 문자열과 마찬가지로 옵션을 쿼리 문자열로 지정할 수 있도록 지원합니다. DNS 시드 목록 연결 문자열을 사용하면 TXT 레코드를 통해 다음 옵션을 지정할 수도 있습니다.
replicaSet
authSource
사용자는 TXT 레코드를 mongod
인스턴스당 1개만 지정할 수 있습니다. 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]]
더 많은 예제는 연결 string 예제를 참조하세요.
연결 문자열 구성 요소
연결 문자열에 포함되는 구성 요소는 다음과 같습니다.
구성 요소 | 설명 | |
---|---|---|
mongodb:// or mongodb+srv:// | 이 문자열이 표준 연결 형식( mongodb:// ) 또는 SRV 연결 형식(mongodb+srv:// )의 문자열임을 식별하는 데 필요한 접두사입니다. 각 형식에 대해 자세히 알아보려면 표준 연결 문자열 형식 및 SRV 연결 형식을 참조하세요. | |
username:password@ | 선택 사항. 인증 자격 증명. 지정된 경우 클라이언트 는 사용자 이름이나 암호에 다음 문자가 포함되어 있는 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.
| |
host[:port] |
포트 번호를 지정하지 않으면 기본 포트 SRV URI 연결 형식을 사용할 경우 호스트 1개만 지정하고, 포트는 지정하지 않아도 됩니다. 그렇지 않으면 해당 드라이버 또는 | |
/defaultauthdb | 선택 사항. 연결 string 에
| |
?<options> | 선택 사항. 연결별 옵션을 이 연결 문자열이 데이터베이스를 지정하지 않는다면 마지막 |