【问题标题】:Disable sequelize column returning禁用续集列返回
【发布时间】:2021-03-12 13:23:52
【问题描述】:

大家下午好。我有一个包含用户秘密信息的数据库。我想在使用 findOne() 时禁用返回“密码”列。如何在不从响应对象中删除它的情况下做到这一点?

【问题讨论】:

    标签: javascript sequelize.js sequelize-cli


    【解决方案1】:

    如果要返回除一个以外的所有字段,可以使用exclude 属性,如下所示:

        myTable.findOne({
            attributes: {exclude: ['password']},
            where: { id: userId }
        })

    【讨论】:

      【解决方案2】:

      您可以在定义架构时使用 toJson 它允许您像这样编辑返回的架构

      sequelize.define('user', attributes, {
        instanceMethods: {
          toJSON: function () {
            const values = Object.assign({}, this.get());
      
            delete values.password;
            return values;
          }
        }
      });
      

      【讨论】:

        猜你喜欢
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        • 2018-04-23
        • 2021-02-15
        • 1970-01-01
        • 2018-05-12
        • 1970-01-01
        • 2011-09-15
        相关资源
        最近更新 更多