在SQL中,我可以像这样使用内联计算更新字段 -
UPDATE user SET count=count+1 WHERE id=userID
它只需要一个数据库操作。
但是,在水线中,我现在唯一的选择是查询用户,更改值,然后保存回数据库。
User.findOne(userID).exec(function(err, user) {
if(user) {
user.count++;
user.save(function(err) {
if(!err) console.log("success");
});
}
});
它需要双重数据库访问权限。如何减少开销?
答案 0 :(得分:1)
你可以用水线执行原生查询,所以我会走那条路。
User.query("query string here", function (err,result){//Handle errors and result here});
http://sailsjs.org/documentation/reference/waterline-orm/models/query