如何修改属性sequelize中的值?

How to modify value in attributes sequelize?

我有这样的查询:

const rows = await Leaderboard.findAll({
      where: {
        app_type_id: appId,
        ...filterWhereQuery,
        emp_id: dataProgress.submited
      },
      include: [
        ...leaderboardFavouriteInclude,
        {
          model: UserEmployee,
          as: 'user',
          attributes: ['emp_id', 'emp_full_name', 'emp_email', 'is_invited', ...empInfo]
        },

我想修改 UserEmployee 模型中的 emp_email 值。电子邮件将是 return 就像 abc@gmail.com 但我想删除域电子邮件,结果应该是 abc 对于 emp_email.

如何破案?谢谢

您需要为 emp_email 字段使用 getter,如下所示:

  emp_email: {
    type: DataTypes.STRING,
    get() {
      const rawValue = this.getDataValue('emp_email');
      return rawValue ? rawValue.split('@')[0] : null;
    }
  }