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

接続オプション

このガイドでは、接続、認証、ドライバーのオプションと、Lambda アプリケーションのデータベース接続構成でそれらを指定する方法を学習できます。 接続オプションは、データベース接続を管理する MongoDB PHP ライブラリに渡されます。

MongoDB PHP ライブラリの詳細については、 MongoDB PHP ライブラリのドキュメント を参照してください。

このガイドでは、次のトピックについて説明します。

次のセクションでは、構成ファイルに一般的な接続および認証オプションを追加する方法を学びます。

次のいずれかの方法を使用して、Lambda ウェブ アプリケーションのconfig/database.php構成ファイルで接続オプションまたは認証オプションを指定できます。

  • 設定と値を配列項目としてoptions配列項目に追加します。

  • dsn 配列項目で指定された接続stringに、設定と値をクエリstringパラメーターとして追加します。

options配列でオプションを指定するには、次の例に示すように、名前と値を配列アイテムとして追加します。

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'options' => [
'appName' => 'myLaravelApp',
'compressors' => 'zlib',
'zlibCompressionLevel' => 7,
],
],
],

接続stringのパラメーターとしてオプションを指定するには、次のクエリstring構文形式を使用します。

  • ホスト情報を パラメーターから区切るために、疑問符文字?を追加します。

  • オプションを追加するには、 <option>=<value>としてフォーマットします。

  • 各オプションと値のペアの間にアンパサンド文字&を挿入して、それらを区切ります。

次の設定例は、接続stringパラメーターの構文を示しています。

'dsn' => 'mongodb+srv://mongodb0.example.com/?appName=myLaravelApp&compressors=zlib',

次の表では、接続オプションと認証オプションの一覧とそのデフォルト値について説明しています。

オプション名
許容値
デフォルト値
説明

appName

文字列

なし

MongoDB PHP ライブラリがハンドシェイクの一部として MongoDB 配置に送信するアプリケーション名を指定します。
appNameを指定すると、サーバー ログ内のそのアプリケーションに関連するアクティビティを識別するのに役立ちます。

authMechanism

文字列

なし

使用する認証メカニズムを指定します。 このオプションを指定しない場合、ドライバーはデフォルトの認証メカニズムを使用します。 詳細については、サーバー マニュアルの 「認証」 を参照してください。

authMechanismProperties

文字列

なし

authMechanismオプションで設定された認証メカニズムに関連するプロパティをさらに指定します。

authSource

文字列

説明を参照してください

認証に使用されるデータベースを指定します。
このオプションは、SCRAM ベースの認証メカニズムの場合はadminMONGODB-X509 メカニズムの場合は$externalPLAIN メカニズムの場合はデータベース名または$externalにデフォルト設定されます。

compressors

文字列のコンマ区切りリスト

なし

MongoDB PHP ライブラリが使用するデータコンプレッサーを指定して、指定された順序で MongoDB とアプリケーション間で渡されるネットワーク データの量を削減します。

connectTimeoutMS

Non-negative integer

10000 (10 秒)

サーバーに接続するときに、基礎の各 TCP ストリームに渡される接続タイムアウトをミリ秒単位で指定します。

directConnection

ブール値

false

クラスター内のすべてのサーバーを検出して接続するのではなく、単一のホストに直接接続するかどうかを指定します。 この設定の詳細については、接続ガイドの「直接接続」を参照してください。

heartbeatFrequencyMS

以上の整数 500

10000 (10 秒)

各監視スレッドがサーバー チェックの実行間で待機する時間をミリ秒単位で指定します。

journal

ブール値

false

操作がディスク上のジャーナルに伝達されたことの確認を要求します。

localThresholdMS

Non-negative integer

15

ドライバーとサーバー間の平均ラウンドトリップ時間が、すべての適切なサーバーの最短ラウンドトリップ時間と比較して持続できる時間をミリ秒単位で指定します。
値が 0 の場合、レイテンシウィンドウはないため、平均ラウンドトリップ時間が最も短いサーバーのみが適格となります。

maxStalenessSeconds

-1、または 以上の任意の整数 90

-1

プライマリノードに対する最大の遅延時間(秒)を指定します。この操作にセカンダリノードを使用できるようにします。
このオプションの値は 90 以上である必要があります。そうでない場合、操作はエラーを起こします。-1 の値は、最大遅延時間がないことを意味します。

readConcernLevel

文字列

なし

MongoDB PHP ライブラリによって実行される操作のデフォルトの読み取り保証 (read concern) を指定します。 詳細については、サーバー マニュアルの「読み取り保証」を参照してください。

readPreference

文字列

primary

MongoDB PHP ライブラリが読み取り操作をレプリカセット メンバーにルーティングする方法を指定します。 詳細については、サーバー マニュアルの「読み込み設定」を参照してください。

readPreferenceTags

キーと値のペアをコンマで区切ったリスト

なし

どのレプリカセット ノードを操作の対象にするかを指定します。 このキーの各インスタンスは、個別のタグ セットです。 ドライバーは、各タグを持つ 1 つ以上のサーバーを見つけるまで、各タグセットをチェックします。

replicaSet

文字列

なし

MongoDB PHP ライブラリが接続するレプリカセットの名前を指定します。

retryReads

ブール値

true

操作が失敗した場合に MongoDB PHP ライブラリが読み取り操作を再試行するかどうかを指定します。

serverSelectionTimeoutMS

Non-negative integer

30000 (30 秒)

MongoDB PHP ライブラリがタイムアウトする前に、操作のサーバーを選択するまでの待機時間をミリ秒単位で指定します。

tls

ブール値

false

MongoDB PHP ライブラリがサーバーとの接続で使用する TLS 構成を指定します。
デフォルトでは、TLS はオフになっています。

tlsAllowInvalidCertificates

ブール値

false

サーバーが無効な証明書を提示した場合にMongoDB PHPライブラリがエラーを返すかどうかを指定します。
アプリケーションにセキュリティの脆弱性を生み出さないように、テスト環境のみでこのオプションを true に設定することをお勧めします。

tlsCAFile

文字列

説明を参照してください

MongoDB PHP ライブラリが TLS に使用する認証機関 (CA) ファイルへのパスを指定します。
このオプションを指定しない場合、ドライバーは webpki-roots crate の Mozilla ルート認証書を使用します。

tlsCertificateKeyFile

文字列

なし

MongoDB PHP ライブラリがサーバーに提示して自身を認証するための証明書ファイルへのパスを指定します。
このオプションを設定しない場合、MongoDB PHP ライブラリはサーバーで自身を認証しようとしません。

tlsInsecure

ブール値

false

サーバーが無効な証明書を提示した場合にMongoDB PHPライブラリがエラーを返すかどうかを指定します。
アプリケーションにセキュリティの脆弱性を生み出さないように、テスト環境のみでこのオプションを true に設定することをお勧めします。

w

負でない整数または文字列

なし

操作が特定の数または種類のサーバーに伝播されたことの確認応答をリクエストします。
詳細については、サーバー マニュアルの「書込み保証 (write concern)」を参照してください。

wTimeoutMS

Non-negative integer

タイムアウトなし

書込み保証 (write concern) の時間制限をミリ秒単位で指定します。 操作が時間制限内に要求されたレベルに伝播しなかった場合、MongoDB PHP ライブラリはエラーを発生させます。

zlibCompressionLevel

-1 以上9 以下の整数

-1

この圧縮を使用する場合、zlib 圧縮のレベルフィールドを指定します。
-1 の値を設定すると、デフォルトの圧縮レベル (6) が選択されます。
0 の値を設定すると圧縮なし、9 の値を設定すると最大圧縮が指定されます。

接続オプションの完全なリストを表示するには、サーバー マニュアルの『 接続文字列 』ガイドの「接続stringオプション 」セクションを参照してください。 ページの右側にあるSelect your languageドロップダウン メニューからPHPを選択します。

ドライバー オプションは、Lambel アプリケーションと MongoDB 間の接続とすべての操作を管理する MongoDB PHP ライブラリの動作を変更します。

Lambda Web アプリケーションのconfig/database.php構成ファイルでドライバー オプションを指定できます。 ドライバー オプションを追加するには、次の例に示すように、設定と値を配列項目としてdriver_options配列項目に追加します。

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'driver_options' => [
'serverApi' => 1,
'allow_invalid_hostname' => false,
],
],
]

ドライバー オプションのリストについては、MongoDB PHP ライブラリのドキュメントの「 $DriverOptions: 配列セクション 」を参照してください。