Arrays 更新Sequelize数组
我到处都找过了,没有找到一种简单易懂的方法来更新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
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数组-数组类型的列,实例数组?数组类型的列