【问题标题】:Updating with calculated values in Sequelize使用 Sequelize 中的计算值进行更新
【发布时间】:2019-09-02 21:36:36
【问题描述】:

我想使用其中一个字段中的前一个值对我的模型运行更新查询。

这会将模型(行 id=4)的“seq”字段更新为 5。

 Model.update({
        seq: 5
    },{
        where:{
            'id':4,

        }
    });

现在如何将模型更新为 'seq' 字段中存储的先前值 + 5 ?

 Model.update({
            seq: 'seq' + 5
        },{
            where:{
                'id':4,

            }
        });

【问题讨论】:

    标签: node.js sequelize.js


    【解决方案1】:

    你可以使用

    Model.update(
      { seq: sequelize.literal('seq + 5') },
      { where: { id: model_id } }
    );
    

    或者你可以使用incrementmethod

    Model.increment('seq', { by: 5, where: { id: 'model_id' }});
    

    【讨论】:

      【解决方案2】:

      假设您想将 aa 列增加 5,其中性别为女性

      Users.increment('aa', { by: 5, where: { gender: 'female' } });
      

      【讨论】:

        【解决方案3】:

        你可以使用增量来做到这一点

         Model.increment(
                { seq: +5 },
                { where: { id: 4 } }
              );
        

        和输出:

        UPDATE `Model` SET `seq`=`seq`+ 5 WHERE `id` = 4
        

        【讨论】:

          猜你喜欢
          • 2016-03-15
          • 2022-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多