【发布时间】:2014-11-07 07:54:17
【问题描述】:
我正在使用 express.js 服务器和 sequelize.js 运行 node.js。这是一个仅限 API 的应用程序,因此没有在节点中编写视图。
我试图了解如何在 PostgreSQL 中构建两个数据模型之间的关联。我有用户和广告系列,每个都是他们自己的表格,其中包含每个相关的列(例如用户的“用户名”和“电子邮件”,以及广告系列的“名称”和“消息”)。用户可以拥有多个活动;用户可以加入许多活动。活动可以由多个用户拥有;活动可以有很多用户加入。
我想我会包括两个额外的表来定义用户和活动之间的关系,一个称为“注册”,它告诉哪个用户加入了什么,另一个叫做“CampaignOwners”,它告诉哪个用户对什么活动具有管理角色。这两个表都有 UserId 和 CampaignId 列来定义关系。因此,您可以期望相同的 UserId 和 CampaignId 出现在这些表的许多行中。
我将如何在 sequelize 架构中定义用户和广告系列之间的关系?我正在检查这些文档 (http://sequelizejs.com/docs/latest/associations#block-2-line-0),但我处于陌生领域,如果有人有时间从概念上解释你如何使用 sequelize 来做这种事情,我将不胜感激。例如,我可以读取和写入 Registrations 表,但我通过将其建模为单独的 DB 对象来做到这一点,并且它有自己的 API 端点('/api/register/' 并传入 UserId 和 CampaignId )。所以现在我有一个用户、活动和注册的模型。它有效,但对我来说似乎是错误的,所以我正在寻求澄清。
我欢迎对我缺少的概念、我缺少的方法、我应该查看的文档提出建议......
更新
Sequelize 的 .hasMany 和 .belongsTo 摆弄这些方法,我正在弄清楚如何创建新的“连接表”和the methods that area created from defining these relationships。 (这是我第一次接触 ORM)。
【问题讨论】:
标签: node.js postgresql orm associations sequelize.js