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

MongoDB\Client::__construct()

MongoDB\Client::__construct()

新しいClientインスタンスを構築します。

function __construct(
?string $uri = null,
array $uriOptions = [],
array $driverOptions = []
)
$uri : string

MongoDB接続string 。 詳細については、MongoDB マニュアルの「接続文字列 」を参照してください。

指定しない場合、デフォルトは"mongodb://127.0.0.1:27017"になります。

URI コンポーネント内の特殊文字は、RFC3986 に従ってエンコードする必要があります。これは特にユーザー名とパスワードに関連し、@ 、 、: %などの特殊文字が含まれることが多いです。 Unix ドメイン ソケット経由で接続する場合、ソケット パスにスラッシュなどの特殊文字が含まれる場合があるため、エンコードする必要があります。 rawr値()関数は、URI の構成要素をエンコードするために使用できます。

$uriOptions : 配列

認証資格情報やクエリ文字列パラメーターなどの追加の URI オプションを指定します。$uriOptions で指定されたオプションは、$uri string に存在する類似のオプションよりも優先され、RFC3986 に準拠してエンコードされる必要はありません。

サポートされているオプションのリストについては、 MongoDB\Driver\Manager::__construct() 拡張ドキュメントを参照してください。

$driverOptions : 配列

PHPドライバーに固有のオプションを指定します。拡張機能 によってサポートされているドライバー オプションに加えて、ライブラリは作成するカーソルに適用するデフォルトの 型マップ の指定をサポートしています。

名前
タイプ
説明

autoEncryption

配列

ドライバーでクライアント側のフィールドレベル暗号化を構成するオプション。サポートされている暗号化オプションのリストについては、拡張機能のドキュメントを参照してください。

If a keyVaultClient オプションに MongoDB\Client が指定されている場合は、 拡張機能のMongoDB\Driver\Manager にラップされません。

バージョン1.6の新機能。

ドライバー

配列

サーバー ハンドシェイクに渡す追加のドライバー メタデータ。 これは、 nameversionplatform string フィールドを含む配列です。 例:

[
'name' => 'my-driver',
'version' => '1.2.3-dev',
'platform' => 'some-platform',
]

この機能は、主にカスタム ドライバーと ODM 用に設計されており、診断目的でサーバーに自分自身を識別する必要がある可能性があります。 アプリケーションで自分自身を識別する場合は、このオプションの代わりにappName URI オプションを使用する必要があります。

バージョン1.7の新機能。

ServerApi

クライアントで API バージョンを宣言するために使用されます。 詳細については、サーバー マニュアルのStable APIページを参照してください。

バージョン1.9の新機能。

typeMap

配列

Default type map to apply to cursors, which determines how BSON documents are converted to PHP values. The library uses the following type map by default:

[
'array' => 'MongoDB\Model\BSONArray',
'document' => 'MongoDB\Model\BSONDocument',
'root' => 'MongoDB\Model\BSONDocument',
]

builderEncoder

MongoDB\Codec\Encoder

クエリ ビルダと集計ビルダに使用するエンコード。設定されていない場合、このオプションはデフォルトで MongoDB\Builder\BuilderEncoderクラスの新しいインスタンスになります。

バージョン1.21の新機能。

allow_invalid_hostname

ブール値

trueの場合はホスト名の検証を無効にします。 デフォルトはfalseです。

無効なホスト名を許可すると、ドライバーが中間者攻撃(man-in-the-middle attack)に遭遇する可能性があります。

バージョン1.6 以降では非推奨: このオプションは非推奨になりました。代わりに、tlsAllowInvalidHostnames URI オプションを使用してください。

ca_dir

string

正しくハッシュされた証明書ディレクトリへのパス。 デフォルトでは、システム証明書ストアが使用されます。

指定されていない場合は、非推奨のcapath SSL コンテキスト オプションに戻ります。

ca_file

string

認証局ファイルへのパス。 デフォルトでは、システム証明書ストアが使用されます。

指定されていない場合は、非推奨のcafile SSL コンテキスト オプションに戻ります。

バージョン1.6 以降では非推奨: このオプションは非推奨になりました。代わりに、tlsCAFile URI オプションを使用してください。

CRL_file

string

証明書失効リスト ファイルへのパス。

pem_file

string

クライアント認証に使用する PEM でエンコードされた証明書へのパス。

指定されていない場合は、非推奨のlocal_cert SSL コンテキスト オプションに戻ります。

Deprecated since version 1.6: This option has been deprecated. Use the tlsCertificateKeyFile URI option instead.

pem_pwd

string

PEM でエンコードされた証明書のパスフレーズ(該当する場合)。

指定されていない場合は、非推奨のpassphrase SSL コンテキスト オプションに戻ります。

Deprecated since version 1.6: This option has been deprecated. Use the tlsCertificateKeyFilePassword URI option instead.

weekly_cert_validation

ブール値

証明書の検証trueを無効にします。 デフォルトはfalseです。

指定されていない場合は、非推奨のallow_self_signed SSL コンテキスト オプションに戻ります。

Deprecated since version 1.6: This option has been deprecated. Use the tlsAllowInvalidCertificates URI option instead.

context

resource

他のドライバー オプション(指定)のフォールバックとして使用する SSL コンテキスト オプション。ドライバーはデフォルトのストリーム コンテキストを参照しないことに注意してください。

このオプションは下位互換性のためにサポートされていますが、非推奨と考慮する必要があります。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

拡張レベルでのパラメータまたはオプションの解析に関連するエラーの場合は、 MongoDB\Driver\Exception\InvalidArメントException 。

MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。

MongoDB\Driver\Manager が内部的に構築されます。サーバー検出とモニタリング の仕様に従って、MongoDB$Driver\Manager::__construct() は I/O を実行しません。接続は、最初の操作が実行されたときに、オンデマンドで初期化されます。

$uri値を指定しないと、ドライバーはポート 経由で 上のスタンドアロンmongod 127.0.0.127017に接続します。別のサーバーに接続するには、 インスタンスを作成するときに、対応する接続文字列を最初のパラメータとして渡します。Client

<?php
$client = new MongoDB\Client('mongodb://mongodb-deployment:27017');

次の例は、カスタム読み取り設定を使用してレプリカ セットに接続する方法を示しています。

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet',
[
'readPreference' => 'secondaryPreferred',
]
);

次の例は、MongoDB Atlas で使用される SSL と認証を使用して MongoDB レプリカ セットに接続する方法を示しています。

<?php
$client = new MongoDB\Client(
'mongodb://myUsername:myPassword@rs1.example.com,rs2.example.com/?ssl=true&replicaSet=myReplicaSet&authSource=admin'
);

あるいは、認証資格情報と URI パラメーターをコンストラクターの $uriOptions パラメーターで指定することもできます。

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/'
[
'username' => 'myUsername',
'password' => 'myPassword',
'ssl' => true,
'replicaSet' => 'myReplicaSet',
'authSource' => 'admin',
],
);

ドライバーは、追加の SSL オプションをサポートしており、コンストラクターの$driverOptions パラメーターで指定できます。これらのオプションについては、 MongoDB\Driver\Manager::__construct() ドキュメントで説明されています。

デフォルトでは、MongoDB PHP ライブラリは BSON ドキュメントと配列をそれぞれMongoDB\Model\BSONDocument } オブジェクトとMongoDB\Model\BSONArrayオブジェクトとして逆シリアル化します。 次の例では、レガシーのmongo拡張機能と同様に、ライブラリですべてが PHP 配列として逆直列化されている方法を示しています。

<?php
$client = new MongoDB\Client(
null,
[],
[
'typeMap' => [
'root' => 'array',
'document' => 'array',
'array' => 'array',
],
]
);