首页 > 解决方案 > 不更新,但承诺返回成功

问题描述

更新不起作用,但承诺正在返回成功。我认为这可能是续集查询中的 Where 没有从对象数组 productsCodeArr 中找到值。

const orderid = req.params.orderid
const productsCodeArr = convertedInputs.map(code => {
                    return ({
                        id: code.id,
                        picked: code.picked,
                        notPicked: code.notPicked
                    });
                })
                
                
if(productsCodeArr) {
                
db.Detallepedido.update({
                    pickeado: productsCodeArr.picked,
                    nopickeado: productsCodeArr.notPicked
                },
                {
                    where: {
                        pedido_id: orderid,
                        producto_id: productsCodeArr.id
                    }
                })
                .then(() => {
                    console.log('Success!');
                }})
            .catch(reason => {
                console.log(reason);
            })

标签: javascriptnode.jssequelize.js

解决方案


我做的!我将 Promise.all 与数组的映射一起使用。

Promise.all(productsCodeArr.map(object=>{
                return db.Detallepedido.update({
                    pickeado: object.picked,
                    nopickeado: object.notPicked
                },
                {
                    where: {
                        pedido_id: orderid,
                        producto_id: object.id
                    }
                })}))

推荐阅读