首页 > 解决方案 > 插入一个sequelize多对多联合表

问题描述

你如何插入到由sequelize自动生成的关节表中?我的多对多是这样定义的:

db.users.belongsToMany(db.groups, {through: "users_groups", foreignKey:"user_id"});
db.groups.belongsToMany(db.users, {through: "users_groups",foreignKey:"group_id"});

我尝试简单地使用 create() 直接插入 users_groups,但它不让我,我查看了 sequelize 文档,似乎我应该使用自动生成的 AddUser 和 AddGroup 方法,在我的情况下,我初始化了数据库在单独的文件中,所以似乎 sequelize 没有将它们识别为方法?这是我尝试过的,控制台日志告诉我这些不是功能

  User.findByPk(req.body.userId)
    .then(user=>{
      Group.findByPk(req.body.groupId).then(group=>{
        User.addGroup(group);
      })
    })

标签: node.jssequelize.js

解决方案


解决了,应该是 user.addGroup(group) 而不是 User.addGroup(group)


推荐阅读