SuperAPI AI 工具集

prisma-client-api

编程与开发

查看项目

更新于 10-15 13:11

技能介绍

用途

Prisma Client API 参考技能为当前 Prisma 项目提供 Prisma Client 的完整 API 参考,指导模型查询、过滤、关联与客户端方法的使用。当需要编写数据库查询、执行 CRUD 操作、过滤与排序数据、处理关联关系、使用事务或配置客户端选项时,可参考本技能。

主要能力

技能按优先级划分规则类别:

  • 客户端构造(constructor,HIGH):PrismaClient 初始化、适配器接线、日志与 SQL 注释插件。
  • 模型查询(model-queries,CRITICAL):CRUD 操作与批量操作。
  • 查询形态(query-options,HIGH):select、include、omit、排序、分页。
  • 过滤(filters,HIGH):标量与逻辑过滤操作符。
  • 关联(relations,HIGH):关联读取与嵌套写入。
  • 事务(transactions,CRITICAL):数组式与交互式事务模式。
  • 原生 SQL(raw-queries,CRITICAL):$queryRaw 与 $executeRaw 安全性。
  • 客户端方法(client-methods,MEDIUM):生命周期方法、扩展与 prisma-client 的 satisfies 模式。

模型查询方法包括:findUnique()、findUniqueOrThrow()、findFirst()、findFirstOrThrow()、findMany()、create()、createMany()、createManyAndReturn()、update()、updateMany()、updateManyAndReturn()、upsert()、delete()、deleteMany()、count()、aggregate()、groupBy()。

查询选项包括:where、select、include、omit、orderBy、take、skip、cursor、distinct。

客户端方法包括:$connect()、$disconnect()、$transaction()、$queryRaw()、$executeRaw()、$on()、$extends()。

过滤操作符包括:equals、not、in、notIn、lt、lte、gt、gte、contains、startsWith、endsWith、mode。关联过滤操作符包括:some、every、none、is、isNot。

使用方式

客户端实例化示例:

import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL
})

const prisma = new PrismaClient({ adapter })

查询示例:

// 按唯一字段查找
const user = await prisma.user.findUnique({
  where: { email: 'alice@prisma.io' }
})

// 带过滤查找
const users = await prisma.user.findMany({
  where: { role: 'ADMIN' },
  orderBy: { createdAt: 'desc' },
  take: 10
})

创建示例:

const user = await prisma.user.create({
  data: {
    email: 'alice@prisma.io',
    name: 'Alice',
    posts: {
      create: { title: 'Hello World' }
    }
  },
  include: { posts: true }
})

更新与删除示例:

const user = await prisma.user.update({
  where: { id: 1 },
  data: { name: 'Alice Smith' }
})

await prisma.user.delete({
  where: { id: 1 }
})

事务示例:

const [user, post] = await prisma.$transaction([
  prisma.user.create({ data: { email: 'alice@prisma.io' } }),
  prisma.post.create({ data: { title: 'Hello', authorId: 1 } })
])

技能包含详细 API 文档的规则文件:references/constructor.md、references/model-queries.md、references/query-options.md、references/filters.md、references/relations.md、references/transactions.md、references/raw-queries.md、references/client-methods.md。使用方式为:从优先级表中选择类别,然后打开对应的参考文件查看实现细节与示例。

适用场景

适用于使用 Prisma Client 进行数据库查询、CRUD 操作、过滤排序、关联处理、事务管理与客户端配置的 Prisma 项目开发。

限制

资料未提供关于收费、价格、平台支持范围或具体性能效果的信息,暂未提供。