연결 옵션 지정
이 페이지의 내용
개요
이 페이지에서는 PHP 라이브러리에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다.
연결 옵션 설정
연결 URI에 옵션을 지정하거나 옵션을 MongoDB\Client
생성자에 전달하여 연결을 구성할 수 있습니다.
연결 URI 사용
연결 URI를 MongoDB\Client
생성자에 전달하는 경우 URI에 연결 옵션을 <name>=<value>
쌍으로 포함할 수 있습니다. 다음 예시 에서는 연결 URI가 tls
옵션을 true
로 설정하고 tlsCertificateKeyFile
옵션을 /path/to/file.pem
로 설정합니다.
// Replace the placeholders with your actual hostname, port, and path to the certificate key file $uri = "mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=/path/to/file.pem"; // Create a MongoDB client $client = new MongoDB\Client($uri);
MongoDB\Client 객체 사용
연결 URI에 연결 옵션을 포함하는 대신 MongoDB\Client
생성자에 연결 옵션을 전달할 수 있습니다.
다음 예시 에서는 MongoDB\Client
생성자의 $uriOptions
매개 변수를 사용하여 연결 옵션을 설정하다 하는 방법을 보여 줍니다.
// Replace the placeholders with your actual hostname and port $uri = "mongodb://<hostname>:<port>/"; // Set the connection options // Replace the placeholder with the actual path to the certificate key file $uriOptions = [ 'tls' => true, 'tlsCertificateKeyFile' => '/path/to/file.pem' ]; // Create a MongoDB client with the URI and options $client = new Client($uri, $uriOptions);
참고
$uriOptions
매개변수와 연결 URI 모두에 옵션을 지정하면 $uriOptions
의 값이 우선합니다.
연결 URI 옵션
다음 섹션에서는 MongoDB 연결에 설정하다 수 있는 옵션에 대해 설명합니다. 각 연결 옵션은 MongoDB Server 매뉴얼의 해당 항목으로 연결됩니다.
중요
백분율 인코딩
연결 옵션 값에 특수 문자가 포함된 경우 를 인코딩 해야 합니다. 연결 URI에 포함하기 전에 값을 변경합니다. rawurlencode()
메서드를 사용하여 RFC 3986 에 지정된 URI 구문에 따라 이러한 값을 인코딩할 수 있습니다.
연결 옵션을 $uriOptions
매개변수에 포함할 때는 퍼센트 인코딩하지 마세요.
자세히 알아보려면 다음 리소스를 참조하세요.
rawurlencode PHP 매뉴얼에서
복제본 세트 옵션
연결 옵션 | 설명 |
---|---|
Data Type: bool MongoDB\Client Example: $uriOptions = ['directConnection' => true]; Connection URI Example: directConnection=true | |
Data Type: string MongoDB\Client Example: $uriOptions = ['replicaSet' => 'replicaSetName']; Connection URI Example: replicaSet=replicaSetName |
연결 옵션
TLS 옵션
PHP 라이브러리에서 사용할 수 있는 TLS 옵션에 학습 보려면 TLS 페이지를 참조하세요.
타임아웃 옵션
연결 옵션 | 설명 |
---|---|
Data Type: int MongoDB\Client Example: $uriOptions = ['connectTimeoutMS' => 2000]; Connection URI Example: connectTimeoutMS=2000 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['socketTimeoutMS' => 20000]; Connection URI Example: socketTimeoutMS=20000 |
압축 옵션
연결 옵션 | 설명 |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['compressors' => 'snappy,zstd,zlib']; Connection URI Example: compressors=snappy,zstd,zlib | |
Data Type: int MongoDB\Client Example: $uriOptions = ['zlibCompressionLevel' => 3]; Connection URI Example: zlibCompressionLevel=3 |
쓰기 고려 옵션
연결 옵션 | 설명 |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['w' => 'majority']; Connection URI Example: w=majority | |
Data Type: int MongoDB\Client Example: $uriOptions = ['wTimeoutMS' => 10000]; Connection URI Example: wTimeoutMS=10000 | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['journal' => true]; Connection URI Example: journal=true |
읽기 고려 옵션
연결 옵션 | 설명 |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['readConcernLevel' => 'majority']; Connection URI Example: readConcernLevel=majority |
읽기 기본 설정 옵션
연결 옵션 | 설명 | ||||||
---|---|---|---|---|---|---|---|
Data Type: MongoDB\Driver\ReadPreference MongoDB\Client Example: $uriOptions = ['readPreference' => 'secondaryPreferred']; Connection URI Example: readPreference=secondaryPreferred | |||||||
Data Type: int MongoDB\Client Example: $uriOptions = ['maxStalenessSeconds' => 30]; Connection URI Example: maxStalenessSeconds=30 | |||||||
Data Type: array MongoDB\Client Example:
연결 URI 예시: |
인증 옵션
PHP 라이브러리에서 사용할 수 있는 인증 옵션에 학습 보려면 인증 메커니즘을 참조하세요.
서버 선택/검색 옵션
연결 옵션 | 설명 |
---|---|
Data Type: int MongoDB\Client Example: $uriOptions = ['localThresholdMS' => 20]; Connection URI Example: localThresholdMS=20 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['serverSelectionTimeoutMS' => 5000]; Connection URI Example: serverSelectionTimeoutMS=5000 | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['serverSelectionTryOnce' => false]; Connection URI Example: serverSelectionTryOnce=false | |
Data Type: int MongoDB\Client Example: $uriOptions = ['heartbeatFrequencyMS' => 30000]; Connection URI Example: heartbeatFrequencyMS=30000 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['socketCheckIntervalMS' => 4000]; Connection URI Example: socketCheckIntervalMS=4000 |
기타 구성
연결 옵션 | 설명 |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['appName' => 'myApp']; Connection URI Example: appName=myApp | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['retryReads' => false]; Connection URI Example: retryReads=false | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['retryWrites' => false]; Connection URI Example: retryWrites=false | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['loadBalanced' => true]; Connection URI Example: loadBalanced=true | |
Data Type: int MongoDB\Client Example: $uriOptions = ['srvMaxHosts' => 5]; Connection URI Example: srvMaxHosts=5 |
API 문서
MongoDB\Client
클래스에 대한 자세한 내용은 다음 PHP 라이브러리 API 문서를 참조하세요.
MongoDB\Driver\ReadPreference
클래스에 대한 자세한 내용은 다음 PHP 확장 API 문서를 참조하세요.