Node.js 多模型水线交易

Node.js 多模型水线交易,node.js,sails.js,waterline,Node.js,Sails.js,Waterline,我正在使用Sails waterline mysql适配器管理我的SQL数据库 在抑制期间,我有3个模型,我必须在Seire中执行查询,但如果最后一个模型失败,我必须执行回滚。水线和交易是否可能实现这一点。是的,您可以为此使用Model.query函数。它允许您执行任何本机SQL查询。比如说 var myQuery = "select * from users"; User.query(myQuery, function(err, result){ if(err){ // erro

我正在使用Sails waterline mysql适配器管理我的SQL数据库


在抑制期间,我有3个模型,我必须在Seire中执行查询,但如果最后一个模型失败,我必须执行回滚。水线和交易是否可能实现这一点。

是的,您可以为此使用Model.query函数。它允许您执行任何本机SQL查询。比如说

var myQuery  = "select * from users";
User.query(myQuery, function(err, result){
  if(err){
    // error handling here
  }
  else{
    // result handling here
  }
})
通过执行控制台日志仔细观察结果对象

对于您的情况,您需要编写一个SQL存储过程来执行事务中的所有操作。然后你的代码就变成了

var myQuery = "call store_proc_name(params)";
在这里,结果对象的理解会稍微复杂一些。仔细分析。现在,使用本机查询时需要注意的是,要确保转义用户提供的参数,以避免SQL注入攻击