Mysql 续集更新并扣除多个具有不同id的行

Mysql 续集更新并扣除多个具有不同id的行,mysql,orm,sequelize.js,Mysql,Orm,Sequelize.js,我有一个产品表,需要使用不同的ID同时更新多行。不过,我还是不知道如何才能实现 module.exports = sequelize.define('products', { product_id: { type: Sequelize.INTEGER(20), }, product_quantity: { type: Sequelize.INTEGER(225), }, }) var cart_list = [ { id: 1, curr_quanti

我有一个产品表,需要使用不同的ID同时更新多行。不过,我还是不知道如何才能实现

module.exports = sequelize.define('products', {

  product_id: {
    type: Sequelize.INTEGER(20),
  },
  product_quantity: {
    type: Sequelize.INTEGER(225),
  },  
})

var cart_list = [
  { id: 1, curr_quantity: 1 },
  { id: 2, curr_quantity: 4 },
  { id: 3, curr_quantity: 5 },
  { id: 4, curr_quantity: 2 }
]

Product.update({
  product_quantity
})
.then(product => {

})

我已经检查了你的代码,你有多个id和不同数量的car_列表数组,因为我们使用循环和承诺

  module.exports = sequelize.define('products', {    
         product_id: {
            type: Sequelize.INTEGER(20),
         },
         product_quantity: {
            type: Sequelize.INTEGER(225),
         },  
    });

    let promises = [];
    var cart_list = [
        { id: 1, curr_quantity: 1 },
        { id: 2, curr_quantity: 4 },
        { id: 3, curr_quantity: 5 },
        { id: 4, curr_quantity: 2 }
    ]

    cart_list.forEach(element => {
        promises.push(Product.update({product_quantity : element.curr_quantity},{where:{'product_id' : element.id}}))
    });

    Promise.all(promises).then(resultdata=> {
        console.log('Success-------->',resultdata)
    }).catch(err =>{        
        console.log('Failed---------------->',err);
    });

谢谢你的回答,谢谢!而且它也有效。