AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

接続オプションの指定

このセクションでは、 Rubyドライバーで使用できるMongoDB の接続オプションと認証オプションについて説明します。接続を構成するには、接続 URI (接続文字列とも呼ばれます)を使用するか、Mongo::Client コンストラクターに引数を渡します。

Mongo::Client コンストラクターに接続 URI を渡す場合は、接続オプションを <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

使用する潜在的なコンプレッサーのリスト(優先順位順)。ドライバーは、サーバーによってサポートされている最初のコンプレッサーを選択します。現在、ドライバーはzstd snappyzlib、 、

のみをサポートしています。データ型:Array<String>
デフォルト: なし
クライアントの例:compressors: ['snappy', 'zstd', 'zlib']
接続 URI の例:compressors=snappy,zstd,zlib

:zlib_compression_level

圧縮を使用する場合、使用する Zlib 圧縮レベル。このオプションは、-1 から9 までの整数値を受け入れます:

- -:1 zlib はデフォルトの圧縮レベル(通常は6 )を使用します。
-:0 圧縮なし。 -:
1速度は最も速くなりますが、圧縮は最小です。
-:9

圧縮には最適ですが、速度は最も遅くなります。詳細については、Ruby の Zlib

モジュールのドキュメントを参照してください。データ型:Integer
デフォルト:None
クライアントの例:zlib_compression_level: 3
接続 URI の例:zlibCompressionLevel=3

接続オプション
説明

:connect_timeout

例外が発生する前に、ソケット接続を確立するための待機時間(秒単位)。このタイムアウトは SRV DNSレコード解決にも使用されます。

nil 0

Float
はタイムアウトなしを平均。無効なタイムアウト値(負の値や数値以外の値など)が渡されると、クライアントの作成はエラーで失敗します。データ型:10.0
デフォルト: クライアントの例:connect_timeout: 10.0
接続 URI の例:connectTimeoutMS=10000

:timeout_ms



0例外が発生する前に、操作の実行を待機するミリ秒数。

はタイムアウトなしを意味します。無効なタイムアウト値(負の値や数値以外の値など)が渡されると、クライアントの作成はエラーで失敗します。データ型:Integer
デフォルト: なし
クライアントの例:timeout_ms: 5000
接続 URI の例:timeoutMS=5000

接続オプション
説明

:load_ ユーザー分散



ロードバランサーへの接続を要求するかどうか。データ型:Boolean
デフォルト:false
クライアントの例:load_balanced: { true }
接続 URI の例: 該当なし

:server_monitoring_mode

使用するサーバー監視プロトコル。このオプションを :auto に設定すると、モニタリングモードはドライバーがを実行中いる環境によって決まります。ドライバーは、 AWS Lambdaなどの function-as-a-service(FaaS)環境ではポーリングモードを使用し、他の環境ではストリーミングモードを使用します。

データ型:Symbol
デフォルト::auto
クライアントの例:server_monitoring_mode: :poll
接続 URI の例:serverMonitoringMode=poll

:server_Selection_timeout



ドライバーが例外をスローする前に、サーバー選択が成功するまで待機する最大時間(秒単位)。データ型:Integer
デフォルト:30
クライアントの例:server_selection_timeout: 30
接続 URI の例:serverSelectionTimeoutMS=30000

サーバー選択の詳細については、 サーバー選択ガイド を参照してください。

接続オプション
説明

:auth_mech



Rubyドライバーがアプリケーションを認証するために使用するメカニズム。データ型:Symbol
デフォルト::scram256
nil ユーザー認証情報が提供されていない場合は、
クライアントの例:auth_mech: :scram256
接続 URI の例:authMechanism=SCRAM-SHA-256

:auth_mech_properties

認証メカニズムに固有のオプション。このオプションはすべての認証メカニズムに必要ではありません。データ型:

デフォルト:Hash
GSSAPI認証メカニズムを使用する場合、デフォルトのプロパティは
{service_name: "mongodb"}
です。それ以外の場合、デフォルトはnil
です。クライアントの例:auth_mech_properties: {aws_session_token: '12345'}
接続 URI の例:authMechanismProperties=AWS_SESSION_TOKEN:12345

:auth_source



認証するデータベース。データ型:String
デフォルト:admin (認証情報が提供されている場合)
クライアントの例:auth_source: admin
接続 URI の例:authSource=admin

:user

認証のユーザー名。このオプションが接続 URI に含まれている場合は、パーセント

エンコードする必要があります。データ型:String
デフォルト: なし
クライアントの例:user: my+user
接続 URI の例:username=my+user

:password

認証のパスワード。このオプションが接続 URI に含まれている場合は、パーセント

エンコードする必要があります。データ型:String
デフォルト: なし
クライアントの例:password: strong+password
接続 URI の例:password=strong+password

接続オプション
説明

:replica_set



接続先のレプリカセットの名前を指定します。データ型:String
デフォルト: なし
クライアントの例:replica_set: 'myRS'
接続 URI の例:replicaSet=myRS

:direct_ connection



指定されたホストに直接接続するかどうかのデータ型:Boolean
デフォルト:false
クライアントの例:direct_connection: true
接続 URI の例:directConnection=true

:enable_overload_re targeting



ドライバーが過負荷エラーを返すサーバーの優先順位を下げ、同じ過負荷サーバーで再試行の可能性を減らします。データ型:Boolean
デフォルト:false
クライアントの例:enable_overload_retargeting: true
接続 URI の例:enableOverloadRetargeting=true

:max_adapactive_retry



ドライバーが過負荷エラーを発生した場合に試行する最大再試行回数。データ型:Integer
デフォルト:2
クライアントの例:max_adaptive_retries: 3
接続 URI の例:maxAdaptiveRetries=3

:read

読み込み設定 (read preference)オプション。詳細については、 MongoDB Serverマニュアルの「 読み込み設定

」を参照してください。データ型:Hash
デフォルト:{ mode: :primary }
クライアントの例:read: { mode: :primary }
接続 URI の例:readPreference=primary

:read_concern

読み取り保証 (read concern)オプションを指定します。詳細については、 MongoDB Serverマニュアルの「 読み取り保証

」を参照してください。データ型:Hash
デフォルト: なし
クライアントの例:read: { level: :majority }
接続 URI の例:readConcern=majority

:write_concern

クライアントの書込み保証 (write concern)を指定します。詳細については、 MongoDB Serverマニュアルの「 書込み保証

」を参照してください。データ型:Hash
デフォルト:write_concern: { w: 1 }
クライアントの例:write_concern: { w: 2 }
接続 URI の例:w=2

:local_threshold

レプリカセット ノードの適格性のレイテンシウィンドウ(秒単位)。ノードの往復ping

が、最速のサーバーの往復ping時間とこの値よりも長い時間がかかる場合、そのサーバーは選択の対象になりません。データ型:Float
デフォルト:0.015
クライアントの例:local_threshold: 0.020
接続 URI の例:localThresholdMS=20

接続オプション
説明

:max_Pool_size

プールが維持する同時接続の最大数。サーバーへの使用中の接続数が指定された値に達した場合、そのサーバーへの次のリクエストは接続が利用可能になるまで待機します。このオプションを0

に設定すると、無制限の接続プールが作成されます。データ型:Integer
デフォルト:100
クライアントの例:max_pool_size: 100
接続 URI の例:maxPoolSize=100

:max_connecting



各プールが同時に確立できる接続の最大数。データ型:Integer
デフォルト:2
クライアントの例:max_connecting: 2
接続 URI の例:maxConnecting=2

:min_Pool_size



プールが維持する同時接続の最小数。データ型:Integer
デフォルト:0
クライアントの例:min_pool_size: 1
接続 URI の例:minPoolSize=1

:max_idle_time



プール内で接続がアイドル状態を維持できる最大時間(秒)。データ型:Integer
デフォルト:0 (制限なし)
クライアントの例:max_idle_time: 10
接続 URI の例:maxIdleTimeMS=10000

接続プールの詳細については、接続プールガイドを参照してください。

Rubyドライバーの Mongo::Client オプションの詳細については、Mongo::Client のAPIドキュメントを参照してください。