在Sails的Waternline中,我需要能够将先前的值与新的值进行比较,并在一定条件下分配新的属性。例如:
beforeUpdate: function(newValues, callback) {
if(/* currentValues */.age > newValues.age) {
newValues.permission = false;
}
}
如何访问
currentValues
? 最佳答案
我不确定这是否是最好的解决方案,但是您可以通过执行一个简单的findOne
请求来获取当前记录:
beforeUpdate: function(newValues, callback) {
Model
.findOne(newValues.id)
.exec(function (err, currentValues) {
// Handle errors
// ...
if(currentValues.age > newValues.age) {
newValues.permission = false;
}
return callback();
});
}