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

使用Prisma+ExpressJS查询MySQL返回空JSON问题求助

问题原因与解决方法

核心问题是你没有给异步查询添加await关键字:
prisma.user.findMany()是异步方法,直接赋值给users得到的是一个Promise对象,而非实际查询结果。Express会将Promise对象序列化为空JSON返回,这就是你看到空结果的原因。

修正后的代码

// route "/users"
app.get('/users/getAll', async (req,res)=>{
    try {
        const users = await prisma.user.findMany(); // 添加await等待查询完成
        res.send(users);
    } catch (error) {
        res.status(500).send({ error: error.message }); // 新增错误捕获,便于排查问题
    }
});

额外排查点

  • 直接用MySQL客户端执行SELECT * FROM user;,确认数据库中确实存在用户数据。
  • 确保已运行prisma generate生成客户端,且代码中正确初始化了Prisma实例(如const prisma = new PrismaClient();)。
  • 检查.env文件中的DATABASE_URL,确认连接的是存有数据的目标数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:45:33