繁体   English   中英

Sequelize默认方法findOne bug

[英]Sequelize default method findOne bug

观察:我正在使用 Sequelize 最新版本、迁移、controller 和模型

我有这个名为Tokens的 model :

'use strict';
module.exports = (sequelize, DataTypes) => {
  const Tokens = sequelize.define('Tokens', {
    usuarios_id: {
      type: DataTypes.INTEGER,
      allowNull: false
    },
    token: {
      type: DataTypes.STRING,
      unique: true
    },
    empresa_id: {
      type: DataTypes.INTEGER,
      allowNull: false
    }
  }, {
    paranoid: false,
    freezeTableName: true
  });
  Tokens.associate = function(models) {
    // associations can be defined here
  };
  return Tokens;
};

我在中间件中调用 findOne() 方法,如下所示:

const token = await Tokens.findOne({ where: { token: tokenHeader }})

日志记录返回我拥有的更多字段,但我将它们从 model 和迁移中删除:

Executing (default): SELECT "id", "usuarios_id", "token", "empresa_id", "createdAt", "updatedAt" FROM "Tokens" AS "Tokens" WHERE "Tokens"."token" = '900150983cd24fb0d6963f7d28e17f72';

默认情况下,Sequelize 会将属性 createdAt 和 updatedAt 添加到您的 model 中,因此您将能够知道数据库条目何时进入数据库以及上次更新的时间。 如果您不想要这些字段,则可以将timestamps: false传递给配置。

文档链接: https://sequelize.org/v5/manual/models-definition.html#timestamps

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM