bulk在sequelize中创建连接表数据,用于建立多对多关联



我有两个模型-User和Flat。他们有一个多对多的关联

Flat.belongsToMany(User, { through: FlatMember });
User.belongsToMany(Flat, { through: FlatMember });

现在我有一个对象数组,存储哪个用户与哪个Flat 相关联的数据

flatMemberArray = [{userId: 1, flatId: 'A1'}, 
{userId: 2, flatId: 'A1'}, 
{userId: 2, flatId: 'A2'}];

如何进行bulkCreate并将此flatMemberArray插入到junction FlatMember模型中。

我查阅了文件,没有发现任何帮助。可以创建单个记录

userInstance.setFlats(flatIds); //array of flatIds associated to the user instance

但是,我必须为每个用户运行一个for循环来进行插入。肯定有更好的办法吗?

FlatMember.bulkCreate([arrayOfDataObjects])

确实有效。我只是一个荒谬的人,在创建数据对象时犯了一个错误,该数据对象将外键id分配为用户模型中不作为主键存在的东西。捕捉到的错误消息谈到了丢失的参数,我对此误解了。现在已更正。

最新更新