在我的Sequelize模型中,我在 Votes 的连接表中有很多关联,当 User 投票给 Response 时存储,并存储投票的值, true 是upvote, false 是downvote .

投票模型和关系定义如下:

// vote.js
module.exports = (sequelize, DataTypes) => {
  return sequelize.define('Vote', {
    upVote: {
      type: DataTypes.BOOLEAN,
      allowNull: false
    }
  })
}

// user.js
models.User.belongsToMany(models.Response, {
  through: models.Vote,
  as: 'Votes'
})

// response.js
models.Response.belongsToMany(models.User, {
  through: models.Vote,
  as: 'Votes'
})

一切都按预期工作,直到我达到用户更改投票的程度 . 如果按下向上/向下按钮并向用户提交的内容提交不同的值,我需要以某种方式更新连接表条目,或者删除它并制作另一个 . 问题是尝试在投票时使用“销毁”或“更新”会产生未知的方法错误 . 处理这个问题的正确方法是什么?