this.getDataValue不是一个函数 – sequelize v.5模型。

我不能在sequelize模型中访问this.getDataValue,但它在文档中说我们可以访问它,我使用的是SEQUELIZE v5.我不知道我必须做什么,但我一直在弄清楚很多事情。

module.exports = (sequelize, DataTypes) => {
  var User = sequelize.define('User', {
    email: DataTypes.STRING,
    name: DataTypes.STRING,
    password : DataTypes.STRING,
    is_active : DataTypes.BOOLEAN,
  }, {});

  User.associate = function(models) {
    // associations can be defined here
  };

  User.toJSON = function () {
    var values = Object.assign({}, this.get());
    delete values.password;
    return values;
  }

  User.comparePassword = async function (email, pw) {
    let err, pass;
    //ERROR RIGHT HERE
    if(!this.getDataValue('password')) TE('password not set');

    [err, pass] = await to(bcrypt_p.compare(pw, this.password));
    if(err) TE(err);

    if(!pass) TE('invalid password');

    return this;
  }

  User.getJWT = function () {
    return "Bearer "+jwt.sign({id:this.id}, "BAMBANG", {expiresIn: 86400});
  };

  User.toWeb = function () {
    let json = this.toJSON();
    return json;
  };

  return User;
};

解决方案:

似乎你添加了类方法而不是实例方法。这是官方文档中的一个例子。

// Adding a class level method
User.classLevelMethod = function() {
  return 'foo';
};

// Adding an instance level method
User.prototype.instanceLevelMethod = function() {
  return 'bar';
};

给TA打赏
共{{data.count}}人
人已打赏
解决方案

HTML表格内的数学模式

2022-5-11 15:00:28

解决方案

关于在表格单元格中用字符串替换UL列表的问题

2022-5-11 15:00:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索