クエリ
このセクション
CRUD
このページでは、生成された Prisma Client API を使用して CRUD 操作を実行する方法について説明します。CRUD は、以下の頭字語です。
フィールドを選択
概要
リレーションクエリ
Prisma Client の重要な機能は、2つ以上のモデル間のリレーションをクエリできることです。リレーションクエリには以下が含まれます。
フィルタリングとソート
Prisma Client は、where クエリオプションによるフィルタリングと、orderBy クエリオプションによるソートをサポートしています。
ページネーション
Prisma Client は、オフセットページネーションとカーソルベースのページネーションの両方をサポートしています。
集計、グループ化、および要約
Prisma Client を使用すると、レコードのカウント、数値フィールドの集計、および個別フィールド値の選択が可能です。
トランザクションとバッチクエリ
データベーストランザクションとは、一連の読み取り/書き込み操作を指し、全体として成功または失敗することが保証されています。このセクションでは、Prisma Client API がトランザクションをサポートする方法について説明します。
全文検索
Prisma Client は、バージョン 2.30.0 以降の PostgreSQL データベース、およびバージョン 3.8.0 以降の MySQL データベースで全文検索をサポートしています。全文検索(FTS)を有効にすると、データベースカラム内のテキストを検索することで、アプリケーションに検索機能を追加できます。
カスタムバリデーション
Prisma Client クエリのユーザー入力に対して、次のいずれかの方法でランタイムバリデーションを追加できます。
計算フィールド
計算フィールドを使用すると、既存のデータに基づいて新しいフィールドを導出できます。一般的な例は、フルネームを計算する場合です。データベースには、名と姓のみが格納されている場合がありますが、名と姓を組み合わせてフルネームを計算する関数を定義できます。計算フィールドは読み取り専用で、データベースではなくアプリケーションのメモリに格納されます。
フィールドの除外
デフォルトでは、Prisma Client はモデルからすべてのフィールドを返します。select を使用して結果セットを絞り込むことができますが、モデルが大きく、除外したいフィールドがわずかしかない場合は、扱いにくくなる可能性があります。
カスタムモデル
アプリケーションが成長するにつれて、関連するロジックをグループ化する必要がある場合があります。以下のいずれかをお勧めします。
大文字と小文字の区別
大文字と小文字の区別は、データのフィルタリングとソートに影響し、データベース照合順序によって決定されます。データのソートとフィルタリングは、設定によって異なる結果をもたらします。
クエリの最適化
このガイドでは、クエリパフォーマンスの特定と最適化、パフォーマンス問題のデバッグ、および一般的な課題への対処方法について説明します。