【问题标题】:nodejs - sails.js lock query (transactions)nodejs -sails.js 锁定查询(事务)
【发布时间】:2013-09-24 07:53:03
【问题描述】:

案例:

我正在使用 SAILS.js 创建一个 api,sails.js 使用 waterline 作为 ORM。 api返回可以说照片,许多用户可以为照片投票。图片将按票数排序。

程序: 当用户为一首歌投票时,我必须检查投票数(“SELECT”|| picture.findById()),然后我必须将该数字加一(“UPDATE”picture.update)。

问题transaction/ 锁定在 Sails.js 中,这两个查询应该在没有其他查询修改我们投票系统的选择和更新查询中的图片数据的情况下执行。

我们应该如何在sails.js(node js框架)中执行锁定/转换

谢谢

【问题讨论】:

    标签: node.js locking sails.js waterline


    【解决方案1】:

    Sails does 支持交易。

    以下是sails.js 中的事务示例:

    await sails.getDatastore().transaction(async db=> {
    
      await Model
        .create({foo: bar})
        .usingConnection(db);
    
      if (somethingWentWrong) {
        throw 'error happened - transaction rollback';
      }
    
      await Model
        .update({id: 1}))
        .set({votes: 1})
        .usingConnection(db);
    
    }).intercept('Error', () => res.serverError());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      相关资源
      最近更新 更多