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 | Ruby ドライバーがアプリケーションを認証するために使用するメカニズム。 |
:auth_mech_properties | 認証メカニズムに固有のオプション。このオプションは、すべての認証メカニズムに必要とは限りません。 |
:auth_source | 認証するデータベース。 |
:user | 認証するユーザー名。このオプションが接続 URI に含まれている場合は、パーセントエンコードする必要があります。 |
:password | 認証用のパスワード。このオプションが接続 URI に含まれている場合は、パーセントエンコードする必要があります。 |
読み取り操作と書込み操作
接続オプション | 説明 |
|---|---|
:replica_set | 接続先のレプリカセットの名前を指定します。 |
:direct_ connection | 指定されたホストに直接接続するかどうか |
:enable_overload_re targeting | ドライバーが過負荷エラーを返すサーバーの優先順位を低くし、同じ過負荷サーバーで再試行する可能性を低減させるかどうか。 |
:max_adapactive_retry | ドライバーで過負荷エラーが発生した場合に試行する再試行の最大回数。 |
:read | 読み込み設定 (read preference)オプション。詳細については、MongoDB Serverマニュアルの読み込み設定 (read preference)を参照してください。 |
:read_concern | 読み取り保証 (read concern) オプションを指定します。詳細については、MongoDB Server マニュアルの「読み取り保証 (read concern)」を参照してください。 |
:write_concern | クライアントの書込み保証 (write concern)を指定します。書込み保証 (write concern) の詳細については、MongoDB Server マニュアルの「書込み保証 (write concern)」を参照してください。 |
:local_threshold | レプリカセットのノードの選択対象となるまでのレイテンシ ウィンドウ(秒単位)。ノードの往復 ping 時間が、最速のサーバーの往復 ping 時間とこの値の合計より長い場合、そのサーバーは選択対象になりません。 |
接続プール
接続オプション | 説明 |
|---|---|
:max_Pool_size | プールが維持する同時接続の最大数。サーバーへの使用中の接続数が指定された値に達した場合、そのサーバーへの次のリクエストは接続が利用可能になるまで待機します。このオプションを |
:max_connecting | 各プールが同時に確立できる最大接続数。 |
:min_Pool_size | プールが維持する同時接続の最小数。 |
:max_idle_time | 接続がプール内でアイドル状態を維持できる最大時間(秒)。 |
接続プールの詳細については、接続プールガイドを参照してください。
API ドキュメント
Rubyドライバーの Mongo::Client オプションの詳細については、Mongo::Client のAPIドキュメントを参照してください。