节点回送updateAll具有另一个属性值的update属性

时间:2018-12-13 10:21:25

标签: node.js loopbackjs

我正在尝试调用节点回送updateAll方法,其中一个属性接收另一个属性的值。我该怎么做?

Model.updateAll(
     {
       Status: 'Cancel',
      },
      {
        Qty: 0
        QtyCancelled: Qty   <------------- How I should write this line?
      },
     function(err, info) {
      console.log('result',info);
     }
  );

}

预先感谢

1 个答案:

答案 0 :(得分:1)

LoopBack不支持其中一个属性接收从数据库读取的值和/或update命令中其他属性的更新。

如果您使用的是SQL数据库,则可以直接运行SQL查询。

Model.dataSource.connector.execute(
  'UPDATE Model SET Qty=?, QtyCancelled=Qty WHERE Status = "Cancel"',
  [0],
  function (err, info) {
    // ...
  });

请参见https://loopback.io/doc/en/lb3/Executing-native-SQL.html

许多no-SQL连接器也支持execute API,请检查所用连接器的文档。