Arrays 更新Sequelize数组

Arrays 更新Sequelize数组,arrays,sequelize.js,Arrays,Sequelize.js,我到处都找过了,没有找到一种简单易懂的方法来更新sequelize数组,比如用普通字符串: db.User.update({name:req.body.name},{where : {username:req.body.username}}).then(function(user) { res.json(user); }) Sequelize不支持使用阵列进行批量更新,请参阅 您必须实现一个自定义函数。 下面是一个基本示例,让您了解: var promises = []; userA

我到处都找过了,没有找到一种简单易懂的方法来更新sequelize数组,比如用普通字符串:

db.User.update({name:req.body.name},{where : {username:req.body.username}}).then(function(user) {

    res.json(user);
})

Sequelize不支持使用阵列进行批量更新,请参阅

您必须实现一个自定义函数。 下面是一个基本示例,让您了解:

var promises = [];
userArray.forEach(function(user){
   promises.push(db.User.update({name:user.name},{where : {username:user.username}});
});
Promise.all(promises).then(function(){
    // success
}, function(err){
    // error
});

我本人决定如下:

案例1:如果要在不同的条件下以相同的值更新多行

db.User.update({ name: 'name request' }, {
    where: {
        $or: [{ name: 'test 1', password: 'sasaccsa' }, {
            name: "test 2"
        }]
    }
}).then(function(user) {
    //query generate
    // UPDATE `User` SET `name`='name request' WHERE ((`name` = 'test 1' AND `password` = 'sasaccsa') OR `name` = 'test 2')
    res.json(user);
});
案例2:如果要为不同类型的审核更新具有不同值的多行:

var arrayUpdate = [{
        name: 'test 1',
        id: 1
    }, {
        name: 'test 2',
        id: 2
    }, {
        name: 'test 3',
        id: 3
    }];
    sequelize.Promise.each(arrayUpdate, function(val, index) {
        return db.User.update({
            name: val.name
        },{
            where:{
                id: val.id
            }
        }).then(function(user) {
        }, function(err){

        });
    })
    .then(function(updateAll){
        //done update all
         res.json(updateAll);
    }, function(err){

    });

请澄清什么是sequelize数组-数组类型的列,实例数组?数组类型的列