Prisma 查询最重要的不是“记 API”,而是先建立一句话:
你写的不是 SQL 语法,而是查询意图。
#1. 查唯一记录
const user = await prisma.user.findUnique({
where: { email: "lin@city.dev" },
});#2. 条件查询
const posts = await prisma.post.findMany({
where: {
published: true,
title: { contains: "Prisma" },
},
orderBy: { createdAt: "desc" },
});#3. 只拿需要的字段
const users = await prisma.user.findMany({
select: {
id: true,
email: true,
},
});#4. 顺手带出关联数据
const users = await prisma.user.findMany({
include: {
posts: true,
},
});#select 和 include 的心智区别
select = 我要哪些字段
include = 我要把哪些关联档案一起带出来别把 Prisma 查询理解成:
- “我在写一个奇怪的 JSON”
你真正做的是:
- 用对象语法描述一次数据库查询意图