You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next 13.4中Prisma返回null但Node.ts正常的问题排查

Next 13.4 中 Prisma Client 在组件/API路由失效但Node脚本正常的问题

问题概述

在Next 13.4的API路由或组件中,Prisma Client无法正常工作,但在Node.ts文件中运行相同查询函数却完全正常(两者使用同一PrismaClient实例和数据库)。

具体现象

  • 在Next组件中通过Prisma查询数据库时返回null,但运行prisma seed文件时一切正常。
  • 使用findUnique、findUniqueOrThrow方法均返回null;findFirst、findMany方法在不添加where条件时可正常工作,添加条件后则报错。

代码示例

Seed文件(/prisma/seed.ts)

async function getBySlug() {
  const ai = await prisma.aI.findUnique({ where: { slug: "Dua-Lipa" } });

  return ai;
}

getBySlug()
  .then(console.log)
  .catch(console.error)
  .finally(() => prisma.$disconnect());

NextJS组件(/src/ai/[slug]/page.tsx)

import { prisma } from "@/lib/prisma";

type Props = {
  params: { slug: string };
};
async function getAiBySlug(slug: string) {
  const ai = await prisma.aI.findUnique({ where: { slug: "Dua-Lipa" } });

  console.log("ai ->", ai);
  return ai;
}

const AiSlug = async ({ params }: Props) => {
  const ai = await getAiBySlug(slug);


  return (
    <div>
      AiSlug, request to visit: <pre>{params.slug}</pre>
      <pre>{JSON.stringify(ai)}</pre>
    </div>
  );
};

export default AiSlug;

环境与已验证信息

  • 技术栈:MongoDB、Prisma、Prisma Client、Next 13.4、TypeScript
  • 已验证内容:
    • 字段拼写正确,且在seed文件中可正常运行
    • slug字段在Schema中标记为@unique
    • seed.ts和page.tsx使用同一PrismaClient实例
  • Seed文件运行命令:ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts

疑问

是否与TypeScript配置(需提供tsconfig文件?)、next.config文件(当前为空)或nextAuth有关?


内容的提问来源于stack exchange,提问作者Reza Attar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:57:25