MongoDB からのデータの読み取り
項目一覧
Overview
このページでは、ドキュメントを取得するための一般的なPHPライブラリ メソッドを示すコピー可能なコード例を紹介します。
Tip
このページに記載されているメソッドの詳細については、各セクションに提供されているリンクを参照してください。
このページの例を使用するには、コード例をサンプルアプリケーションまたは 独自のアプリケーションにコピーします。 MONGODB_URI
配置の接続string には、{3MongoDB 環境変数を必ず設定し、<database>
と<collection>
のプレースホルダーをターゲット名前空間の値に置き換えます。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、 「ダウンロードとインストール」のガイドを参照してください。
次のコードをコピーし、新しい
.php
ファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
1 2 3 require __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
findOne
次のコードは、指定された条件に一致する単一のドキュメントをコレクションから検索する方法を示しています。
$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()
メソッドの詳細については、 ドキュメントガイドの「推定カウントの取得」セクションを参照してください。
Retrieve Distinct Values
次のコードは、指定された条件に一致するドキュメントのフィールドの一意の値を検索する方法を示しています。
$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()
メソッドの詳細については、「データの変更を監視 」のガイドを参照してください。