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

MongoDB に接続する

このページには、 PHPアプリケーションをさまざまな設定でMongoDBに接続する方法を示すコード例が含まれています。

Tip

このページの接続オプションの詳細については、各セクションに記載されているリンクを参照してください。

このページの接続例を使用するには、コード例をサンプルアプリケーションまたは独自のアプリケーションにコピーします。 などのコード例内のすべてのプレースホルダーを、<hostname> MongoDBデプロイに関連する値に置き換えてください。

次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。

  1. プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、 「ダウンロードとインストール」のガイドを参照してください。

  2. 次のコードをコピーし、新しい.phpファイルに貼り付けます。

  3. このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。

Tip

The require statement in the sample application loads the MongoDB PHP Library and assumes that the vendor directory is in the same directory as your application file. If your application file is located elsewhere, adjust the path to vendor/autoload.php accordingly.

1<?php
2
3require __DIR__ . '/vendor/autoload.php';
4
5// Start example code here
6
7// End example code here
8
9try {
10 $client->test->command(['ping' => 1]);
11 echo 'Successfully pinged the MongoDB server.', PHP_EOL;
12} catch (MongoDB\Driver\Exception\RuntimeException $e) {
13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage());
14}

重要

パーセント エンコーディング

ユーザー名とパスワードは、 MongoDB URI に含める前に、パーセント エンコードする必要があります。rawurlencode() RFC3986 で指定されている URI構文に従ってこれらの値をエンコードするには、 メソッドを使用します。ユーザー名やパスワードをオプション配列パラメータで コンストラクターに渡す場合、パーセントMongoDB\Client エンコードしないでください。

Atlas connection strings use the mongodb+srv prefix and include your database user's credentials. The following code shows how to connect to a MongoDB Atlas deployment:

$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 に複数のレプリカセットノードを指定できます。

レプリカセットへの接続の詳細については、 接続ターゲットガイドの「レプリカセット」を参照してください。

次のコードは、 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);

ネットワーク圧縮の詳細については、 「ネットワーク トラフィックの圧縮」ガイドを参照してください。