Node.js Sequelize对象在

Node.js Sequelize对象在,node.js,postgresql,orm,sequelize.js,Node.js,Postgresql,Orm,Sequelize.js,我正试图在Node.js的Sequelize中编写一个belongAsmany关联模型。我正在尝试将接收器设备与它将播放的录音相关联。一个录音将在多个接收器设备上播放。我创建了一个through表,其中存储了关联,并使用了one-where-scope子句来确保关联类型是用于音频的,因为还会有其他表使用此关联 我成立了协会,唯一的问题是我得到了 错误:录制未与接收器关联 错误。我不确定我错在哪里,但据我所知,当我定义它们时,它们肯定是相关的 定义 查询代码 这可能非常过时,但错误为“正确”,接收

我正试图在Node.js的Sequelize中编写一个belongAsmany关联模型。我正在尝试将接收器设备与它将播放的录音相关联。一个录音将在多个接收器设备上播放。我创建了一个through表,其中存储了关联,并使用了one-where-scope子句来确保关联类型是用于音频的,因为还会有其他表使用此关联

我成立了协会,唯一的问题是我得到了

错误:录制未与接收器关联

错误。我不确定我错在哪里,但据我所知,当我定义它们时,它们肯定是相关的

定义

查询代码


这可能非常过时,但错误为“正确”,接收器和录制没有直接关联,您正在尝试直接获取接收器实例,但您定义了一个名为receiverRelation的联接表,因此需要查询以下对象:

db.receiver.findAll({
  'include' : [{
    'model' : db.recording,
    'through': {'where' : { 'recording_id' : recordingRow.get( 'id' ) } }
  }]
})
我很确定你差不多两年前就解决了这个问题,但我想帮你

db.receiver.findAll( {
    'include' : [ {
        'model' : db.recording,
        'where' : { 'id' : recordingRow.get( 'id' ) }
    } ]
} )
db.receiver.findAll({
  'include' : [{
    'model' : db.recording,
    'through': {'where' : { 'recording_id' : recordingRow.get( 'id' ) } }
  }]
})