如何在水线中更新一个查询

在SQL中,我可以使用内联计算来更新字段,

UPDATE user SET count=count+1 WHERE id=userID 

它只需要一个数据库操作。

但是,在waterline中,我现在唯一的select是查询用户,更改值并保存回数据库。

 User.findOne(userID).exec(function(err, user) { if(user) { user.count++; user.save(function(err) { if(!err) console.log("success"); }); } }); 

它需要双重数据库访问。 我怎样才能减less开销?

你可以用水线执行原生querys,所以我会去那条路线。

User.query("query string here", function (err,result){//Handle errors and result here});

http://sailsjs.org/documentation/reference/waterline-orm/models/query