node.js - 插入一个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);
})
})
解决方案
解决了,应该是 user.addGroup(group) 而不是 User.addGroup(group)
推荐阅读
- java - 如何重写(Input.GetKeyDown(KeyCode.Space)=>Input.GetTouch
- php - 在 PHP 中使用 cURL 的 PUT 请求
- typescript - 如何制作可以部署到不同 VPC 的 aws-cdk 应用程序
- javascript - 如何设置已经在 react js 中选择的选择选项?
- javascript - 倒数计时器仅倒计时 1 秒然后停止
- javascript - 无法将模块导入 Node JS
- python - 如何在python中更改语音识别的持续时间以在它不识别任何内容时停止
- python - SpaCy,如何创建一个模式来匹配通过 SpeechRecognition 捕获的字符串?
- reactjs - Django CSRF Cookie 未保存但在请求中发送
- elasticsearch - (ES v7.5.1) 从 GCS 快照存储库加速快照恢复