findUniqueとfindFirstは、Prisma ORMでデータベースからレコードを取得するためのメソッドですが、それぞれ異なる用途と動作を持っています。
findUnique
- 用途: 一意の識別子(主キーやユニークキー)を使用して、特定のレコードを取得します。
- 動作: 指定された一意の識別子に一致するレコードが存在する場合、そのレコードを返します。存在しない場合は
null
を返します。 - 使い方: 主キーやユニークキーでレコードを取得する場合に使用します。
例
const task = await this.prisma.task.findUnique({
where: {
id: taskId, // 主キーやユニークキーを指定
},
});
findFirst
- 用途: 条件に一致する最初のレコードを取得します。
- 動作: 指定された条件に一致するレコードが存在する場合、その最初のレコードを返します。存在しない場合は
null
を返します。 - 使い方: 一意の識別子ではなく、複数のレコードが存在する可能性がある条件で最初のレコードを取得する場合に使用します。
例
const task = await this.prisma.task.findFirst({
where: {
userId: userId, // 条件を指定
status: 'OPEN',
},
});
使い分け方
- findUnique: 主キーやユニークキーでレコードを一意に識別できる場合に使用します。
- findFirst: 一意の識別子ではなく、複数のレコードが存在する可能性がある条件で最初のレコードを取得したい場合に使用します。
こちらもおススメ