Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
루비 드라이버
/

연결 옵션 지정

이 섹션에서는 Ruby 운전자 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI(연결 문자열 이라고도 함)를 사용하거나 Mongo::Client 생성자에 인수를 전달하여 연결을 구성할 수 있습니다.

연결 URI를 Mongo::Client 생성자에 전달하는 경우 문자열에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시에서 연결 URI에는 값이 60000connectTimeoutMS 옵션과 값이 truetls 옵션이 포함되어 있습니다.

uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
client = Mongo::Client.new(uri)

연결 옵션을 연결 URI에 포함하는 대신 Mongo::Client 생성자에 인수로 전달할 수 있습니다. 이러한 방식으로 연결을 구성하면 런타임에 설정을 변경하고 컴파일 중에 오류를 포착하기가 더 쉬워집니다. 다음 예시 Mongo::Client 생성자를 사용하여 연결 옵션을 설정하다 방법을 보여 줍니다.

uri = "mongodb://<hostname>:<port>"
client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)

다음 섹션에서는 Ruby 운전자 에서 사용할 수 있는 연결 옵션에 대해 설명합니다.

연결 옵션
설명

:compressors

A list of potential compressors to use, in order of preference. The driver chooses the first compressor that is also supported by the server. Currently the driver only supports zstd, snappy, and zlib.

Data Type: Array<String>
Default: none
Client Example: compressors: ['snappy', 'zstd', 'zlib']
Connection URI Example: compressors=snappy,zstd,zlib

:zlib_compression_level

The Zlib compression level to use, if using compression. This option accepts an integer value between -1 and 9:

- -1: zlib uses its default compression level (usually 6).
- 0: No compression.
- 1: Fastest speed but lowest compression.
- 9: Best compression but slowest speed.


Data Type: Integer
Default: None
Client Example: zlib_compression_level: 3
Connection URI Example: zlibCompressionLevel=3
연결 옵션
설명

:connect_timeout

The number of seconds to wait to establish a socket connection before raising an exception. This timeout is also used for SRV DNS record resolution.

nil and 0 mean no timeout. Client creation will fail with an error if an invalid timeout value is passed (such as a negative value or a non-numeric value).

Data Type: Float
Default: 10.0
Client Example: connect_timeout: 10.0
Connection URI Example: connectTimeoutMS=10000

:timeout_ms

The number of milliseconds to wait for an operation to execute before raising an exception.

0 means no timeout. Client creation will fail with an error if an invalid timeout value is passed (such as a negative value or a non-numeric value).

Data Type: Integer
Default: none
Client Example: timeout_ms: 5000
Connection URI Example: timeoutMS=5000
연결 옵션
설명

:server_selector

Get the server selector. It either uses the read preference defined in the client options or defaults to a Primary server selector.

For more information on read preference modes, see the Server Selection Algorithm documentation in the MongoDB Server manual.

Data Type: ServerSelector
Default: none
Client Example: server_selector: { mode: :secondary_preferred }
Connection URI Example: N/A

:server_selection_timeout

The maximum amount of time, in seconds, the driver waits for server selection to succeed before throwing an exception.

Data Type: Integer
Default: 30
Client Example: server_selection_timeout: 30
Connection URI Example: serverSelectionTimeoutMS=30000
연결 옵션
설명

:auth_mech

The mechanism that the Ruby driver uses to authenticate the application.

Data Type: Symbol
Default: :scram256
nil if user credentials are not supplied.
Client Example: auth_mech: :scram256
Connection URI Example: authMechanism=SCRAM-SHA-256

:auth_mech_properties

Options specific to the authentication mechanism. This option isn't needed for all authentication mechanisms.

Data Type: Hash
Default: When you use the GSSAPI authentication mechanism,
the default properties are {service_name: "mongodb"}.
Otherwise, the default is nil.
Client Example: auth_mech_properties: {aws_session_token: '12345'}
Connection URI Example: authMechanismProperties=AWS_SESSION_TOKEN:12345

:auth_source

The database to authenticate against.

Data Type: String
Default: admin, if credentials are supplied
Client Example: auth_source: admin
Connection URI Example: authSource=admin

: user

The username for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: String
Default: none
Client Example: user: my+user
Connection URI Example: username=my+user

:password

The password for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: String
Default: none
Client Example: password: strong+password
Connection URI Example: password=strong+password
연결 옵션
설명

:replica_set

Specifies the name of the replica set to connect to.

Data Type: String
Default: none
Client Example: replica_set: 'myRS'
Connection URI Example: replicaSet=myRS

:direct_connection

Whether to connect directly to the specified host

Data Type: Boolean
Default: false
Client Example: direct_connection: true
Connection URI Example: directConnection=true

:read

The read preference options. For more information, see Read Preference in the MongoDB Server manual.

Data Type: Hash
Default: { mode: :primary }
Client Example: read: { mode: :primary }
Connection URI Example: readPreference=primary

:read_concern

Specifies the read concern options. For more information, see Read Concern in the MongoDB Server manual.

Data Type: Hash
Default: none
Client Example: read: { level: :majority }
Connection URI Example: readConcern=majority

:write_concern

Specifies the client's write concern. For more information, see Write Concern in the MongoDB Server manual.

Data Type: Hash
Default: write_concern: { w: 1 }
Client Example: write_concern: { w: 2 }
Connection URI Example: w=2

:local_threshold

The latency window, in seconds, for a replica-set member's eligibility. If a member's round trip ping takes longer than the fastest server's round-trip ping time plus this value, the server isn't eligible for selection.

Data Type: Float
Default: 0.015
Client Example: local_threshold: 0.020
Connection URI Example: localThresholdMS=20

Ruby 운전자 의 Mongo::Client 옵션에 대한 자세한 내용은 Mongo::Client에 대한 API 설명서를 참조하세요.

돌아가기

연결 대상 선택

이 페이지의 내용