我尝试从我的 mysql 数据库中获取两列值。
这是我的模型
const Sequelize = require('sequelize');
const db = require('../config/database');
const AuthDetails = db.define('auth_details', {
client_id : {
type: Sequelize.STRING
},
client_secret : {
type: Sequelize.STRING
}
},{
timestamps : false
});
module.exports = AuthDetails;
而且,这是我的路线
router.post('/login', (req, res, next) => {
// console.log(req.body);
Users.findOne( { where : { mobile_number: req.body.mobile_number}})
.then(users => {
UserAuthDet.findAll({
where: {
client_id: req.body.client_id,
client_secret: req.body.client_secret
}
});
});
我在从数据库中获取 client_id 和 client_secret 时遇到错误。
我的错误
更新: Database.js 文件
const Sequelize = require('sequelize');
module.exports = new Sequelize('mydbname', 'root', '', {
host: 'localhost',
dialect: 'mysql',
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
});
尝试添加primaryKey: true
到client_id
in AuthDetails
。
const AuthDetails = db.define('auth_details', {
client_id : {
type: Sequelize.STRING,
primaryKey: true
},
client_secret : {
type: Sequelize.STRING
}
},{
timestamps : false
});
我猜 Sequelizeid
默认将其视为主键,除非它被指定并附id
加到findAll
查询中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句