SuperAPI AI 工具集

skill-prisma-mongo-audit

设计与创作

查看项目

更新于 10-15 23:58

技能介绍

用途:该技能以资深工程师视角审查或编写 Prisma + MongoDB 生产代码,把 15 条戒律(10 条基础 + 5 条索引专项)应用到用户提供的代码、schema 或问题中,发现问题时按编号引用戒律,说明代价(延迟、内存、Big-O、安全影响)并给出修复方案。

主要能力:1)连接池:强制单例 PrismaClient,给出连接串参数与池大小经验规则,说明 serverless 场景需用 Prisma Accelerate 及 prisma:// 协议。2)索引:要求首次 findMany 前声明索引,遵循 ESR(等值→排序→范围)复合索引规则,用 explain 验证 IXSCAN。3)查询:禁止无 select/take 的 findMany,用游标分页替代 skip,用 include/select 消除 N+1 并注意 $lookup 成本。4)写入与聚合:用 createMany/updateMany/deleteMany 批量写入,用 groupBy/aggregate 在数据库内聚合。5)安全:用 Zod 等校验输入,禁止展开不可信输入到 where,$queryRaw 必须参数化。6)事务与密钥:仅在需要原子性时用 $transaction,DATABASE_URL 作为密钥管理并遵循最小权限。7)索引专项:选择性、覆盖查询、复合索引优先于索引交集、TTL/partial/sparse/text/2dsphere 等专用索引、定期用 $indexStats 审计并删除无用索引。

使用方式:扫描用户代码或问题中的违规点,逐条标注戒律编号、解释成本并展示修复;写新代码时预先应用全部戒律;即使用户只问一个问题,也继续扫描其分享的周边代码。语气直接,用具体数字而非模糊建议。

适用场景:Prisma + MongoDB 上线前的代码审查、schema 与索引设计评审、性能与安全排查。

限制:Prisma 对 MongoDB 支持不完整——无原生迁移(migrate dev/db push 不支持),$queryRaw 仅支持基础只读管道,不支持复合 @@id,TTL/partial/sparse/text/2dsphere 等专用索引需用原生 MongoDB 创建,复杂聚合需回退到原生驱动。资料未提供具体收费、价格或平台支持信息。