如何使用 sails-mysql 增加值?

How to increase values with sails-mysql?

我要

UPDATE `some_table` SET `count` = `count` + 1 WHERE `id` = 1

我找到了这样的方法

SomeModel.find(1).done(function (model){
    model.count += 1;
    model.save()
})

如何使用 Model.update() 执行此操作?

您不能使用 Model.update() 执行此操作。你可以用 Model.query()

您还可以创建自己的模型方法,使其更加 DRY。

// Model.js  

module.exports = {
    attributes : {/*...*/},
    addToCount : function(id, cb) {
       Model.query('Update "some_table" SET "count" = "count" + 1 where "id" = ' + id).exec(function(err) {
        if(cb) {
            if(err) return cb(err);
            return cb();
         } else {
            return;
         } 
      }
    })
}

在你的controller.js

Model.addToCount(id, function(err){
    /* optional call back  */
});