gpt4 book ai didi

node.js - 插入一个 sequelize 多对多连接表

转载 作者:行者123 更新时间:2023-12-03 22:35:17 24 4
gpt4 key购买 nike

你如何插入由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);
})
})

最佳答案

假设您想将许多用户添加到一个组中。
这就是你要做的。

Group.findByPK(req.body.userId)
.then((group) => {
group.addUsers([userId1, userId2])
}).then((users) => console.log(users))
.catch((error) => console.log(error));

如果要将用户添加到多个组,只需翻转即可。

还有许多其他方法可用于多对多实例检查 here

有关特定关联实例上可用所有方法的概述,请检查 here

关于node.js - 插入一个 sequelize 多对多连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61675248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com