AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

読み込み設定(read preference)の設定

このガイドでは、 MongoDBで検索操作を実行するときに読み込み設定 (read preference)を設定する方法を学習できます。

このガイドのコード例を実行するには、「クイック スタート 」チュートリアルを完了してください。 このチュートリアルでは、サンプル データを使用して MongoDB Atlas インスタンスを設定し、Lambda ウェブ アプリケーションで次のファイルを作成する手順を説明します。

  • Movie.php ファイル( moviesコレクション内のドキュメントを表すMovieモデルを含む)

  • MovieController.php ファイル(データベース操作を実行するためのshow()関数を含む)

  • browse_movies.blade.php データベース操作の結果を表示するための HTML コードを含む ファイル

次のセクションでは、Laravel アプリケーション内のファイルを編集して検索操作コード例を実行し、期待される出力を表示する方法について説明します。

読み取り操作を受信するレプリカセットメンバーを指定するには、 readPreference() メソッドを使用して読み込み設定 (read preference)を設定します。

readPreference() メソッドは次のパラメーターを受け入れます:

  • mode: (必須) 読み込み設定 (read preference)モードを指定する string 値。

  • tagSets: (任意)特定のレプリカセットノードに対応するキーと値のタグを指定する配列値。

  • options: (任意)追加の読み込み設定 (read preference)オプションを指定する配列値。

Tip

使用可能な読み込み設定 (read preference)モードとオプションの完全なリストを表示するには、 MongoDB PHP拡張ドキュメントのMongoDB\ドライバー\ReadPreference::__construct を参照してください。

次の例では、titleフィールドの値が "Carrie" であるドキュメントをクエリし、読み込み設定 (read preference)を ReadPreference::SECONDARY_PREFERRED に設定します。その結果、クエリは、セカンダリレプリカセットメンバーから結果を検索するか、セカンダリが使用できない場合はプライマリ メンバーから結果を検索します。

クエリを指定するには、次の構文を使用します。

$movies = Movie::where('title', 'Carrie')
->readPreference(ReadPreference::SECONDARY_PREFERRED)
->get();

browse_moviesビューでクエリ結果を表示するには、 MovieController.phpファイルのshow()関数を次のコードのように編集します。

class MovieController
{
public function show()
{
$movies = Movie::where('title', 'Carrie')
->readPreference(ReadPreference::SECONDARY_PREFERRED)
->get();
return view('browse_movies', [
'movies' => $movies
]);
}
}

フィルター条件に基づいてデータを検索する方法については、 「MongoDB データの検索」ガイドを参照してください。

Lambda 統合が結果を返す方法を変更する方法については、「 クエリ結果の変更 」ガイドを参照してください。