Overview
このセクションでは、 Rubyドライバーで使用できるMongoDB の接続オプションと認証オプションについて説明します。接続を構成するには、接続 URI (接続文字列とも呼ばれます)を使用するか、Mongo::Client コンストラクターに引数を渡します。
接続 URI の使用
Mongo::Client コンストラクターに接続 URI を渡す場合は、接続オプションを <name>=<value> ペアとして文字列に含めることができます。次の例では、接続 URI に、値が 60000 の connectTimeoutMS オプションと、値が true の tls オプションが含まれています。
uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" client = Mongo::Client.new(uri)
Mongo:: クライアントの使用
接続 URI に接続オプションを含める代わりに、接続オプションを引数として Mongo::Client コンストラクターに渡すことができます。このように接続を構成すると、実行時に設定を変更し、コンパイル中にエラーを検出しやすくなります。次の例は、Mongo::Client コンストラクターを使用して接続オプションを設定する方法を示しています。
uri = "mongodb://<hostname>:<port>" client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)
接続オプション
次のセクションでは、 Rubyドライバーで使用できる接続オプションについて説明します。
ネットワーク圧縮
接続オプション | 説明 |
|---|---|
:compressors | 使用する潜在的なコンプレッサーのリスト(優先順位順)。ドライバーは、サーバーによってサポートされている最初のコンプレッサーを選択します。現在、ドライバーは |
:zlib_compression_level | 圧縮を使用する場合、使用する Zlib 圧縮レベル。このオプションは、 |
タイムアウト
接続オプション | 説明 |
|---|---|
:connect_timeout | 例外が発生する前に、ソケット接続を確立するための待機時間(秒単位)。このタイムアウトは SRV DNSレコード解決にも使用されます。 |
:timeout_ms |
|
サーバーの選択
接続オプション | 説明 |
|---|---|
:load_ ユーザー分散 |
|
:server_monitoring_mode | 使用するサーバー監視プロトコル。このオプションを データ型: |
:server_Selection_timeout |
|
サーバー選択の詳細については、 サーバー選択ガイド を参照してください。
認証
接続オプション | 説明 |
|---|---|
:auth_mech |
|
:auth_mech_properties | 認証メカニズムに固有のオプション。このオプションはすべての認証メカニズムに必要ではありません。データ型: |
:auth_source |
|
:user | |
:password |
読み取り操作と書込み操作
接続オプション | 説明 |
|---|---|
:replica_set |
|
:direct_ connection |
|
:enable_overload_re targeting |
|
:max_adapactive_retry |
|
:read | 読み込み設定 (read preference)オプション。詳細については、 MongoDB Serverマニュアルの「 読み込み設定 |
:read_concern | 読み取り保証 (read concern)オプションを指定します。詳細については、 MongoDB Serverマニュアルの「 読み取り保証 |
:write_concern | クライアントの書込み保証 (write concern)を指定します。詳細については、 MongoDB Serverマニュアルの「 書込み保証 |
:local_threshold | レプリカセット ノードの適格性のレイテンシウィンドウ(秒単位)。ノードの往復ping |
接続プール
接続オプション | 説明 |
|---|---|
:max_Pool_size | プールが維持する同時接続の最大数。サーバーへの使用中の接続数が指定された値に達した場合、そのサーバーへの次のリクエストは接続が利用可能になるまで待機します。このオプションを |
:max_connecting |
|
:min_Pool_size |
|
:max_idle_time |
|
接続プールの詳細については、接続プールガイドを参照してください。
API ドキュメント
Rubyドライバーの Mongo::Client オプションの詳細については、Mongo::Client のAPIドキュメントを参照してください。