Overview
このページには、 PHPアプリケーションをさまざまな設定でMongoDBに接続する方法を示すコード例が含まれています。
Tip
このページの接続オプションの詳細については、各セクションに記載されているリンクを参照してください。
このページの接続例を使用するには、コード例をサンプルアプリケーションまたは独自のアプリケーションにコピーします。 <hostname>などのコード例にあるすべてのプレースホルダーを、 MongoDBデプロイに関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、 「ダウンロードとインストール」のガイドを参照してください。
次のコードをコピーし、新しい
.phpファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
Tip
サンプルアプリケーションの require ステートメントは、MongoDB PHP ライブラリを読み込み、vendor ディレクトリがアプリケーションファイルと同じディレクトリにあることを前提としています。アプリケーションファイルが別の場所にある場合は、それに応じて vendor/autoload.php へのパスを調整してください。
require __DIR__ . '/vendor/autoload.php';
// Start example code here
// End example code here
try { $client->test->command(['ping' => 1]); echo 'Successfully pinged the MongoDB server.', PHP_EOL;} catch (MongoDB\Driver\Exception\RuntimeException $e) { printf("Failed to ping the MongoDB server: %s\n", $e->getMessage());}重要
パーセント エンコーディング
ユーザー名とパスワードは、 MongoDB URI に含める前に、パーセント エンコードする必要があります。RFC 3986 で指定されている URI構文に従ってこれらの値をエンコードするには、rawurlencode() メソッドを使用します。ユーザー名やパスワードをオプション配列パラメータで MongoDB\Client コンストラクターに渡す場合、パーセント エンコードしないでください。
接続
Atlas
Atlasの接続文字列はmongodb+srvプレフィックスを使用し、データベースユーザーの認証情報が含まれます。次のコードは、MongoDB Atlas配置に接続する方法を示しています。
$uri = 'mongodb+srv://<db_username>:<db_password>@<cluster-url>/';$client = new MongoDB\Client($uri);Atlas 配置への接続の詳細については、 接続ターゲットガイドのAtlasを参照してください。
ローカル配置
次のコードは、 MongoDBデプロイに接続する方法を示しています。
$uri = 'mongodb://localhost:27017/';$client = new MongoDB\Client($uri);注意
$uriパラメータを指定しない場合、接続 URI はデフォルトで'mongodb://127.0.0.1:27017'になります。
ローカル配置への接続の詳細については、 接続ターゲットガイドの「ローカル配置」を参照してください。
レプリカセット
次のコードは、レプリカセット配置に接続する方法を示しています。
$client = new MongoDB\Client( 'mongodb://<replica set member>:<port>/', ['replicaSet' => '<replica set name>'],);$uri = 'mongodb://<replica set member>:<port>/?replicaSet=<replica set name>';$client = new MongoDB\Client($uri);Tip
1 つのホストがダウンしたときにレプリカセット配置への接続を維持するには、接続 URI に複数のレプリカセットノードを指定できます。
レプリカセットへの接続の詳細については、 接続ターゲットガイドの「レプリカセット」を参照してください。
Stable API
次のコードは、 MongoDBインスタンスへの接続に対して Stable APIを有効にする方法を示しています。
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')];$client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions,);Stable APIの詳細については、「Stable APIで接続」ガイドを参照してください。
ネットワーク圧縮
次のコードは、接続用に Snappy、zlib、および Zstandard 圧縮アルゴリズムを指定する方法を示しています。
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'],);$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib';$client = new MongoDB\Client($uri);ネットワーク圧縮の詳細については、 「ネットワーク トラフィックの圧縮」ガイドを参照してください。