Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新所有行,然后发送响应sequelize_Javascript_Node.js_Sequelize.js - Fatal编程技术网

Javascript 更新所有行,然后发送响应sequelize

Javascript 更新所有行,然后发送响应sequelize,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我对在Node中执行此类任务非常陌生。我有一个POST method express,它接收一组对象,如: [{F1:'123',F2:'a',F3:'b',F4:'Z'}, {F1:'124',F2:'a',F3:'b',F4:'Z'}, {F1:'125',F2:'a',F3:'b',F4:'Z'}, {F1:'126',F2:'a',F3:'b',F4:'Z'},] 然后,我需要对数组中的每个对象进行更新。 我正在使用sequelize: MODEL.update( {

我对在Node中执行此类任务非常陌生。我有一个POST method express,它接收一组对象,如:

[{F1:'123',F2:'a',F3:'b',F4:'Z'},
{F1:'124',F2:'a',F3:'b',F4:'Z'},
{F1:'125',F2:'a',F3:'b',F4:'Z'},
{F1:'126',F2:'a',F3:'b',F4:'Z'},]
然后,我需要对数组中的每个对象进行更新。 我正在使用sequelize:

MODEL.update(
    {
        att4: art['F4'],
    },
    {
    where:{
            att1: {$eq: art['F1']}
          }
    }).then(function(result)
    {        
        res.status(200).send();

    }).catch(function(err)
    {
        res.status(500).send(err);
    }) 
这对一个物体有效

但是我需要以下几点:当所有的更新都被处理后,然后发送一个响应

我试着用

req.body.forEach(function(o)
    {
        updateO(o)
    },this);
在updateo中执行Model.Update,但我没有达到所需的结果


抱歉英语不好,希望能理解我,谢谢你的帮助。

阅读有关承诺的内容,所有Sequelize的函数都返回承诺,你可以通过承诺处理多个查询。全部

var objects = req.body;
Promise.all(objects.map(object=>{
    return MODEL.update({att4: object.F4},{where:{att1: object.F1});
})).then(function(result){        
    res.status(200).send();
}).catch(function(err){
    res.status(500).send(err);
}) 

谢谢。读了一些文章后,我得到了一个与你的答案非常相似的答案!