【问题标题】:How to create many-to-many relationship in Express?如何在 Express 中创建多对多关系?
【发布时间】:2019-10-11 10:28:05
【问题描述】:

我正在使用 Express 和 TypeScript 编写一个小型 API。我有一个 POST 请求和一个 GET 请求。通过 POST 请求,我进入了一个组织列表,这些组织可能有子组织,而女儿也可能有女儿,等等。

我正在考虑在 postgreSQL 中创建 2 个 db 表。组织和 Parent_child。

Organization{
   id: number,
   name: string
}

Parent_child{
    parent_id: number,
    child_id: number
}

我想通过 Parent_child 从组织到组织创建多对多关系。我花了几个小时来了解如何使用 DB,而且大多数教程充其量都是模糊的。

关于如何做到这一点或为此使用什么模块有什么建议吗?我已经阅读了有关 sequelize 和 typeORM 的信息,但它们的教程和手册对我帮助不大。

【问题讨论】:

  • 什么数据库?这不是 Express 的工作,它取决于数据库接口或 ORM。图书馆推荐在这里是题外话。
  • Johnrsharpe 还说的是,Express 的工作实际上只是处理和组织 HTTP 服务器和 HTTP 请求。通常其他工具用于数据库层,因此在这个问题中甚至提到表达也没有多大意义。不过,Sequalize 和 TypeORM 是不错的选择,因为根本不使用 ORM。
  • @jonrsharpe 编辑了问题以包含数据库类型 Postgresql。
  • 点立场,你需要阅读数据库接口和/或ORM。为什么您使用的工具的教程和手册没有帮助?
  • @jonrsharpe 我能找到的那些遗漏了许多较小的细节,因为他们认为我已经在某种程度上熟悉了 ORM。

标签: database typescript express


【解决方案1】:

通过非常详细的步骤将 sequelize 连接到您的 Postgres 实例,然后像在文档中那样定义您的模型...确保您严格注意在模型中设置关联...belongsToMany当我第一次尝试时有点棘手,但如果您遇到问题,请回到这里,我会告诉您您可能出错的地方

【讨论】:

  • 我让 TypeORM 工作了。它似乎比 sequelize 简单得多,因为它在某些部分类似于 JPA。
  • 好消息,我得调查一下。干杯!!
猜你喜欢
  • 2021-03-12
  • 2021-06-27
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多