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

如何在Prisma中为查询结果集中的列设置别名?

在Prisma中为查询结果字段设置别名的方法

下面几种方法可以快速实现字段别名的设置:

1. 基础字段别名(select语法)

这是最常用的方式,直接在select对象里用别名作为键,值映射到原字段:

// 假设User模型有name、id字段,将name别名设为userName
const users = await prisma.user.findMany({
  select: {
    userName: { name: true }, // 别名userName对应原字段name
    id: true
  }
});

返回的结果里,每个用户对象会包含userName和id字段。

2. 关联字段的别名

如果要给关联关系设置别名,直接在select里替换关联字段的名称即可:

// 假设User模型有posts关联,将其别名设为userPosts
const users = await prisma.user.findMany({
  select: {
    id: true,
    userPosts: { // 别名userPosts对应原关联posts
      select: {
        title: true
      }
    }
  }
});

3. 原生SQL查询(复杂场景)

如果需要更复杂的别名(比如聚合函数结果),可以用Prisma的原生查询:

const userStats = await prisma.$queryRaw`
  SELECT 
    u.name AS userName,
    COUNT(p.id) AS totalPosts
  FROM User u
  LEFT JOIN Post p ON u.id = p.authorId
  GROUP BY u.id
`;

这里直接用SQL的AS关键字定义别名,适合需要自定义SQL的场景。

4. 聚合查询的别名

对聚合结果设置别名时,同样在select里映射:

const userPostCounts = await prisma.user.findMany({
  select: {
    name: true,
    totalPosts: { // 别名totalPosts对应posts的数量
      _count: { posts: true }
    }
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:20:02