sequelize.js - node.js - Sequelize 查询表

标签 sequelize.js

我有这些 table 。患者与用户相连,而 userAddress 与用户相连。

我想在 Sequelize 中进行查询,在给定患者 ID 的情况下,我会得到正确的 userAddress 信息。我可以在两个查询中完成(首先获取 userId,然后获取 userAddress),但是如何使用 Sequelize 仅在一个查询中完成?从我所见,find 方法从一张表开始,我只能包含与该表相连的表。我错过了什么吗?我该怎么做?

最佳答案

您可以使用以下查询在 sequelize 中轻松实现此目的:

Patient.findAll({
  where: { id: 'ABC_123' },
  include: {
    model: User,
    include: [ UserAddress ]
  }
});

但是,要使上述查询起作用,您的 Patient User UserAddress 模型应该正确关联(即在两个方向上),如下所示:

用户和患者之间:
Patient.belongsTo(models.User);
User.hasMany(models.Patient);

用户和用户地址之间:
UserAddress.belongsTo(models.User);
User.hasMany(models.UserAddress);

关于sequelize.js - node.js - Sequelize 查询表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419226/

相关文章:

javascript - Node.js/Sequelize.js/Express.js - 如何插入多对多关联? (同步/异步?)

sequelize.js - 如果关系使用 "as",则属性与模型无关

node.js - NodeJS-SequelizeConnectionError : self signed certificate

node.js - 如何使用 Sequelize 分解代码并从我的函数中获取结果?

sequelize.js - sequelize.showAllTables 不是函数

javascript - Sequelize 从多个表中提取数据并作为对象传递以在 EJS 中呈现

node.js - Sequelize 不返回对象而是返回额外的数据

sequelize.js - Sequelize -cli : running single seed file is slow

node.js - 在 Azure SQL 上续写 "Connection closed"

javascript - 事务无法回滚,因为它已经完成