我到处寻找,我还没有找到一个易于理解的更新续集数组的方法,比如普通的字符串:
db.User.update({name:req.body.name},{where : {username:req.body.username}}).then(function(user) {
res.json(user);
})
答案 0 :(得分:2)
Sequelize不支持使用数组进行批量更新,请参阅https://github.com/sequelize/sequelize/issues/4501
您必须实现自定义功能。 这是一个给你一个想法的基本例子:
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 :(得分:2)
我自己解决的问题如下:
案例1:如果要使用不同条件更新相同值的多行
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){
});
案例2:如果您想为不同类型的评论更新具有不同值的多行:
devlopment.py