我已经很久没有使用 ORM 和数据库了。对于个人项目,我使用 node.js 下的 sequelize 以特定方式获取数据。
我有两个相关的模型:Country & Race(数据库表名称:Countrys & Races)。
Country.init({
id: Sequelize.UUID,
code: Sequelize.STRING,
countryName: Sequelize.STRING
})
Race.init({
id: Sequelize.UUID,
originalName: Sequelize.STRING,
website: Sequelize.STRING,
})
Country.belongsToMany(Race, {through: CountryRace})
Race.belongsToMany(Country, {through: CountryRace})
我正在尝试获取每个种族(以及每个相关国家/地区),其中至少有一个国家/地区与参数中给出的给定代码相对应。
我试过使用:
Race.findAll({
include: {
model: Country,
where: {
code: req.params.countryCode
}
}
})
但是这个解决方案正在返回预期的比赛,但我只是选择了国家,或者有些比赛可以有多个国家! 我正在使用 sequelize 在单个 SQL 查询中寻找一种快速而干净的方法。我可以分两步完成,找到每个 RaceId,然后获取每个相关模型。但我很确定可以避免查询过多。
提前致谢!