使用 Sequelize 的加法和减法赋值运算符
Addition and Subtraction Assignment Operator With Sequelize
我想通过在 Sequelize 上做一个简单的添加来进行更新。
table:
id || data
1 || 10
示例:
db.table.update({ data : 1 }, { where: { id: 1 }});
在这个查询之后
id || data
1 || 11
我知道这是一个简单的问题,但我找不到解决方案。
我可以加减哪个运算符?谢谢
这里是:
db.table.update({ field: Sequelize.literal('data + 1') }, { where: { id: 1 }}))
或
User.findById(1).then(user => {
// -----> First Way
return user.increment('my-integer-field', {by: 2});
// -----> Second Way
return user.increment([ 'my-integer-field', 'my-very-other-field' ], {by: 2})
// -----> Third Way
return user.increment({
'my-integer-field': 2,
'my-very-other-field': 3
})
});
您也可以通过将 increment
替换为 decrement
来实现 decrement
。
对于版本 6:
await User.increment({age: 5}, { where: { id: 1 } }) // Will increase age to 15
await User.increment({age: -5}, { where: { id: 1 } }) // Will decrease age to 5
更多详情:DO READ
续增减
myIncrementFunc(id, incrementor) {
User.findById(id).then(user => {
return user.increment('tableColumnName', {by: incrementor})
}).then(user => {})
}
代码取自sequelize Instances tutorial for Incrementing & Decrementing:
http://docs.sequelizejs.com/manual/tutorial/instances.html
我想通过在 Sequelize 上做一个简单的添加来进行更新。
table:
id || data
1 || 10
示例:
db.table.update({ data : 1 }, { where: { id: 1 }});
在这个查询之后
id || data
1 || 11
我知道这是一个简单的问题,但我找不到解决方案。
我可以加减哪个运算符?谢谢
这里是:
db.table.update({ field: Sequelize.literal('data + 1') }, { where: { id: 1 }}))
或
User.findById(1).then(user => {
// -----> First Way
return user.increment('my-integer-field', {by: 2});
// -----> Second Way
return user.increment([ 'my-integer-field', 'my-very-other-field' ], {by: 2})
// -----> Third Way
return user.increment({
'my-integer-field': 2,
'my-very-other-field': 3
})
});
您也可以通过将 increment
替换为 decrement
来实现 decrement
。
对于版本 6:
await User.increment({age: 5}, { where: { id: 1 } }) // Will increase age to 15
await User.increment({age: -5}, { where: { id: 1 } }) // Will decrease age to 5
更多详情:DO READ
续增减
myIncrementFunc(id, incrementor) {
User.findById(id).then(user => {
return user.increment('tableColumnName', {by: incrementor})
}).then(user => {})
}
代码取自sequelize Instances tutorial for Incrementing & Decrementing: http://docs.sequelizejs.com/manual/tutorial/instances.html