【发布时间】:2020-03-29 04:47:38
【问题描述】:
我无法使用 sequelize 更新行。似乎它正在跳过查询,因为更新时终端中没有生成日志。插入和销毁等其他操作运行良好。
更新代码
const uuid = require('uuid/v4');
const db = require('../../models');
const TempToken = db.tempTokens;
exports.generateToken = async (req) =>{
'use strict';
const token = uuid();
// let transaction = await db.sequelize.transaction();
try{
console.log(req.userId); /////////// DATA prints in console
console.log(req.device.type); /////////// DATA prints in console
const insert = {
user: req.userId,
device: req.device.type,
};
await TempToken.update({valid: false}, {where:{id: 9 } });
insert['token'] = token;
insert['deviceConfig'] = JSON.stringify(req.device);
await TempToken.create(insert);
return token;
}
catch (e){
return e;
}
};
TempTokens 模型 -
/* jshint indent: 2 */
module.exports = function(sequelize, DataTypes) {
return sequelize.define('tempTokens', {
id: {
type: DataTypes.INTEGER(11),
allowNull: false,
primaryKey: true,
autoIncrement: true,
},
user: {
type: DataTypes.STRING(225),
allowNull: true,
},
token: {
type: DataTypes.STRING(225),
allowNull: false,
},
device: {
type: DataTypes.STRING(225),
allowNull: true,
},
deviceConfig: {
type: DataTypes.TEXT,
allowNull: true,
},
valid: {
type: DataTypes.BOOLEAN,
allowNull: false,
default: true,
},
}, {
tableName: 'tempTokens',
});
};
req.userId 和 req.device.type 中的数据有效。而且,id:9 也是有效的并且存在于表中。
终端日志是 -
Executing (default): INSERT INTO `tempTokens` (`id`,`user`,`token`,`device`,`deviceConfig`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?,?);
任何帮助将不胜感激
【问题讨论】:
标签: node.js express model sequelize.js