[英]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.