Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル

MongoDB からのデータの読み取り

項目一覧

  • Overview
  • サンプル アプリケーション
  • findOne
  • 複数検索
  • コレクション内のドキュメントをカウント
  • クエリから返されたドキュメントをカウントする
  • 推定ドキュメント数
  • Retrieve Distinct Values
  • データの変更を監視

このページでは、ドキュメントを取得するための一般的なPHPライブラリ メソッドを示すコピー可能なコード例を紹介します。

Tip

このページに記載されているメソッドの詳細については、各セクションに提供されているリンクを参照してください。

このページの例を使用するには、コード例をサンプルアプリケーションまたは 独自のアプリケーションにコピーします。 MONGODB_URI配置の接続string には、{3MongoDB 環境変数を必ず設定し、<database><collection> のプレースホルダーをターゲット名前空間の値に置き換えます。

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

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

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

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

1<?php
2
3require __DIR__ . '/../vendor/autoload.php';
4
5$uri = getenv('MONGODB_URI') ?: throw new RuntimeException('Set the MONGODB_URI variable to your Atlas URI that connects to the sample dataset');
6$client = new MongoDB\Client($uri);
7
8$collection = $client->selectCollection('<database>', '<collection>');
9
10// Start example code here
11
12// End example code here

次のコードは、指定された条件に一致する単一のドキュメントをコレクションから検索する方法を示しています。

$document = $collection->findOne(['year' => 1994]);
echo json_encode($document), PHP_EOL;

findOne()メソッドの詳細については、「 データ取得ガイド」の「 1 つのドキュメントの検索 」セクションを参照してください。

次のコードは、指定された条件に一致するすべてのドキュメントをコレクションから検索する方法を示しています。

$resultsMultiple = $collection->find(['year' => 1970]);
foreach ($resultsMultiple as $doc) {
echo json_encode($doc), PHP_EOL;
}

find()メソッドの詳細については、 データ取得ガイドの「 複数のドキュメントの検索 」セクションを参照してください。

次のコードは、コレクション内のドキュメントの数をカウントする方法を示しています。

$result = $collection->countDocuments([]);
echo 'Number of documents: ', $result;

countDocuments()メソッドの詳細については、 ドキュメントのカウントガイドの「すべてのドキュメントのカウント」セクションを参照してください。

次のコードは、指定された条件に一致するコレクション内のドキュメントをカウントする方法を示しています。

$result = $collection->countDocuments(['year' => 2010]);
echo 'Number of companies founded in 2010: ', $result;

countDocuments()メソッドの詳細については、 ドキュメントのカウントガイドの「特定のドキュメントのカウント」セクションを参照してください。

次のコードは、コレクション内のドキュメント数の推定値を取得する方法を示しています。

$result = $collection->estimatedDocumentCount();
echo 'Estimated number of documents: ', $result;

estimatedDocumentCount()メソッドの詳細については、 ドキュメントガイドの「推定カウントの取得」セクションを参照してください。

次のコードは、指定された条件に一致するドキュメントのフィールドの一意の値を検索する方法を示しています。

$results = $collection->distinct('year');
foreach ($results as $value) {
echo json_encode($value), PHP_EOL;
}

distinct()メソッドの詳細については、「個別のフィールド値の取得 」ガイドを参照してください。

次のコードは、コレクションの変更を監視して出力する方法を示しています。

$changeStream = $collection->watch();
for ($changeStream->rewind(); true; $changeStream->next()) {
if ( ! $changeStream->valid()) {
continue;
}
$event = $changeStream->current();
echo toJSON($event), PHP_EOL;
if ($event['operationType'] === 'invalidate') {
break;
}
}

watch()メソッドの詳細については、「データの変更を監視 」のガイドを参照してください。

戻る

時系列