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: true 添加到 include 对象。

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

10-12 20:54