如何使用Sequelize(Node.js)上的联接进行批量更新

我有2个模型(亲子):用Sequelize定义的项目和cart_items。 关系:

db.items.hasMany(db.cart_items, { foreignKey: 'itemId' }); db.cart_items.belongsTo(db.items, { foreignKey: 'itemId' }); 

项目有价格fiels,cart_items有itemPrice字段,我需要更新item.price字段。

我需要使用父模型的数据批量更新子模型。 Sequelize有可能吗? 像这样的东西:

 db.cart_items.update( // values { itemPrice: db.items.price }, // Related parent item model = 0 // options { where: this.getCartItemsQueryObj(userId) } // This is ok ); 

我可以用原始的mysql查询来做到这一点:

 return db.sequelize.query(` UPDATE cart_items ci JOIN items i ON ci.itemId = i.id SET ci.itemPrice = i.price WHERE ci.userId=:userId AND ci.orderId IS NULL`, { replacements: { userId: userId }, type: db.sequelize.QueryTypes.UPDATE } );