mysql - SQL 查询到 Sequelize 查询

标签 mysql node.js sequelize.js

select *
From Visitors
join CsvData on
CsvData.fileName = Visitors.fileName

如何像上面那样进行连接。

db.Visitors.find({
    include:[{
        model: CsvData,
        joinCondition: {
            Visitors.fileName : CsvData.fileName  //*wrong syntax but rough idea
        }
    }]
})

任何帮助将不胜感激

最佳答案

你就快到了:)你首先想要associate两个模型。假设fileName被定义为 CsvData 上的主键:

Visitors.hasMany(CsvData, {
  as: 'CsvDataItems',
  foreignKey: 'fileName'
});

Visitors.findAll({
  include:[{
    model: CsvData,
    as: 'CsvDataItems' // Must match the "as" specified in the association above
  }]
}).then(function(results) {
  console.log('Success!', results);
}).catch(function(err) {
  console.error('Something went wrong', err);
});

请注意,如果您想要正确的连接(我知道您没有问,但是嘿)您可以添加 required: trueinclude对象。

关于mysql - SQL 查询到 Sequelize 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376442/

相关文章:

javascript - Travis-CI Node 构建随机失败

javascript - 如何使用 Sequelize 检索不属于多对多关联的所有记录

mysql - 将具有 1 到 N 关系的表合并为 1 行记录,并使用 N 条记录的最后一个值

mysql - 我需要一个查询,该查询将获得具有 4 个不同条件的总和(列),其中包括分组条件

mysql - 转换为分区表

javascript - Node.JS Google Slides API 类型错误 : Cannot read property 'presentations' of undefined

php - 使用 "load data infile"时如何忽略 CSV 文件的最后五行

javascript - socket.on 方法的奇怪问题

sequelize.js - 如何捕获 Sequelize 迁移错误并防止将迁移添加到 SequelizeMeta 表

node.js - 在 GAE 上进行 Sequelize 数据库迁移的最佳实践