如何使用 Typeorm 仅返回关系的某些列

2023-12-19

好吧,我在获取与 typeorm 的关系时遇到了麻烦,当我运行该服务时,它会返回该关系中的所有数据,而我只想要特定的字段,例如 id 和 name。

这是我的代码:

async findById(id: string): Promise<UsersUseOfferHistoric> {
return await this.repository.findOne({
  where: { id },
  relations: ['userId', 'offerId'],
  });
}

这是 json 输出:

{
"id": "da0fd04e-17c6-4412-b342-a4361d191468",
"createdAt": "2020-01-07T19:48:30.840Z",
"userId": {
    "id": "bdc00227-569f-44b5-9bdd-c8de03661ebd",
    "name": "Alexandre Vieira",
    "cpf": "10443771430",
    "email": "[email protected] /cdn-cgi/l/email-protection",
    "password": "asjdsifjdsfasf",
    "imagePath": "/me.png",
    "active": true,
    "lastLogin": "2020-01-07T19:40:26.850Z",
    "createdAt": "2020-01-07T19:40:26.850Z",
    "updatedAt": "2020-01-07T19:40:26.850Z"
},
"offerId": {
    "id": "e399560c-d2c2-4f4e-b2b1-94cae3af3779",
    "offerDrescription": "Nova oferta top",
    "discountCoupon": " Desconto top",
    "discountValidity": "2020-01-07T14:18:19.803Z",
    "discountPercentage": 20,
    "discountQuantityLimit": 50,
    "createdAt": "2020-01-07T19:45:33.589Z",
    "updatedAt": "2020-01-07T19:45:33.589Z"
   }
}

这是我想要的输出:

{
"id": "da0fd04e-17c6-4412-b342-a4361d191468",
"createdAt": "2020-01-07T19:48:30.840Z",
"userId": {
    "id": "bdc00227-569f-44b5-9bdd-c8de03661ebd",
    "name": "Alexandre Vieira",

},
"offerId": {
    "id": "e399560c-d2c2-4f4e-b2b1-94cae3af3779",
    "offerDrescription": "Nova oferta top",

   }
}

The findOne函数接受一个select: ['id', 'createdAt']属性,您可以在其中过滤传出关系的字段。显式选择连接表的返回字段(使用relations属性隐式执行左连接)您必须使用查询生成器 https://typeorm.io/#/select-query-builder.

await getRepository(Foo).createQueryBuilder('foo')
  .where({ id: 1})
  .select(['foo.id', 'foo.createdAt', 'bar.id', 'bar.name'])
  .leftJoin('foo.bars', 'bar')  // bar is the joined table
  .getMany();

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Typeorm 仅返回关系的某些列 的相关文章

随机推荐

  • 如何在 Java 中交换 arrayMap 值和键

    我在反转给定映射并将其反转的键和值存储到另一个映射中时遇到了一些麻烦 我有一个方法原型如下 public static Map
  • 从 React 导入 React 的 Fragment 和 React { Fragment } 有什么区别?

    有什么区别import React from react and import React Fragment from react 在上下文中
  • 如何在 env_file 中进行变量替换?

    我正在使用 docker compose 我希望我的 env 文件具有变量替换 我想在文件中定义一个变量 然后在其他变量中使用它 APP ENV dev foo LOCALPATH tmp builddir APP ENV email pr
  • 修改 .htaccess 中的标头 x-frame-options

    我正在尝试修改 htaccess 文件中的 x frame options 我希望只允许一个特定网站 除了同源网站 虽然我可以拒绝所有网站 但我不知道如何只允许一个网站使用它 我查阅了 MDN 上的文档 但一定是忽略了某些内容 或者我没有正
  • 了解IDTR寄存器吗?

    我无法理解这张解释 intel X86 64 处理器中 IDTR 的图像 IDT 基地址大小是 64 我完全明白 因为它可以nearly记忆中的任何地方 但是 为什么 IDT 限制为 16 位呢 为什么我们需要所有这些位 每个向量的大小为
  • 检查 DatePicker 值是否为 null

    我想检查 a 的值是否DatePicker为 null 框中没有日期 默认情况下Text of my DatePicker设置为类似的东西Select a date 所以我不能使用Text要检查的财产 DatePicker 类有一个属性 选
  • Cmake :打包后步骤

    我正在寻找一种在打包完成后执行代码的方法 我尝试添加一个取决于生成的 PACKAGE 目标的自定义目标 看起来它不起作用 这是 cmake 错误 CMake Error The inter target dependency graph c
  • Spring MVC 控制器测试 - 打印结果 JSON 字符串

    你好 我有一个 Spring mvc 控制器 RequestMapping value jobsdetails userId method RequestMethod GET ResponseBody public List
  • iOS 自动布局与 UIScrollview:为什么滚动视图的内容视图不填充滚动视图?

    以下代码 在 viewDidLoad 中调用 会导致全红屏幕 我希望它是一个完全绿屏 为什么是红色的 我怎样才能让它全部变绿呢 UIScrollView scrollView UIScrollView new scrollView tran
  • Google Drive Rest API v3 - 如何将文件移至垃圾箱?

    Google Drive Rest API v3 有一个 Drive Files Delete 方法 但会永久删除文件 如何将文件移动到垃圾箱 我查看了用于更新文件元数据的文档 并尝试执行此操作 但它似乎不起作用 File file new
  • 完整页面 DOM 的序列化。我可以获取加载的 JS 代码吗,还是必须单独 AJAX?

    我正在尝试找出一个错误 但由于网络应用程序的复杂性 很难做到这一点 有许多框架和许多以不同方式嵌入到 HTML 中的 Javascript 代码实例 需要修复的是使用以下命令创建的子页面showModalDialog 所以你已经知道这将是一
  • 带有“不存在”的 SQL 查询不起作用

    我正在尝试使用一个简单的查询 但我没有得到任何结果 目标是 学习 不存在 是如何工作的 我有一个简单的表 其中 idUsuario 作为用户的默认 ID 和名称 SELECT FROM usuario WHERE NOT EXISTS SE
  • 如何将字符串与传入消息进行比较

    我知道这听起来很简单 但我遇到了一些麻烦 我正在尝试制作一个带有 pic 微控制器 MCU 和 xamarin android 应用程序的系统 从应用程序到 pic MCU 的发送部分已解决 但当我想将数据从 MCU 发送到应用程序时 它不
  • 从经度\纬度转换为笛卡尔坐标

    我有一些以纬度和经度给出的以地心坐标点 WGS 84 http en wikipedia org wiki World Geodetic System 如何将它们转换为原点位于地球中心的笛卡尔坐标 x y z 这是我找到的答案 为了使定义完
  • 混合 Objective-C 和 C++

    我正在尝试将 Objective C 与 C 混合在一起 当我编译代码时 出现几个错误 A h import
  • React:数组状态的高效更新

    React 的基本思想之一是状态更改应该始终且仅通过以下方式发生 this setState 并且不手动操纵状态 但对于状态是深层数组 即对象文字数组 实际上是一些 JSON 数据 的情况 更新该状态变得非常昂贵 如果我只想更新这样一个数组
  • htaccess:允许来自域名而不是IP/子网

    在我的身份验证页面上 我只允许来自某些 IP 是否可以通过域名允许 我的家庭网络的 IP 是动态的 但域名 mysite com 始终指向正确的 IP 地址 我遇到这个是因为我遇到了同样的问题 以防万一其他人发现这个 我找到了完美的解决方案
  • Ionicframework中$window和window的区别

    ionic framework 中 window 和 window 之间的确切区别是什么 例如 在 learn ionicframework com formulas localstorage 的 localstorage 教程中 同时使用
  • 如何使用 ExpressPlay sdk 将 epub 文件集成到自己的电子书阅读器应用程序中?

    我必须使用 ExpressPlay Sd k 将 epub 文件集成到我们现有的电子书阅读器应用程序中 但是 我无法得到解决方案 我通过给定的链接得到了一些想法 https www expressplay com ebooks https
  • 如何使用 Typeorm 仅返回关系的某些列

    好吧 我在获取与 typeorm 的关系时遇到了麻烦 当我运行该服务时 它会返回该关系中的所有数据 而我只想要特定的字段 例如 id 和 name 这是我的代码 async findById id string Promise