mysql - 如何在express.js中使用sequelize在mysql表中插入数据

标签 mysql node.js express sequelize.js

我尝试使用sequelize在mysql表中插入数据data,但它插入null而不是值

我正在尝试在我的文件 userController.js 中执行以下代码

var db = require('../../../../config/db');
var bcrypt = require('bcryptjs');
TBL_USERS = db.connection.define('users');
var usersController = {
register : function(req,res,next){
      db.connection.sync().then(function(){
        TBL_USERS.create({
            username:req.body.username,
            email:req.body.email,
            password:bcrypt.hashSync(req.body.password),
            role_id:2
        }).then(function(insertResult){
                //console.log("INSERT...............",insertResult);
                let send_data = {success:true,status:200,message:"success",data:insertResult};
                return res.json(send_data);
        })
            .catch(function(err){
                console.error("query error =>",err);
                return ReE(err, 200,' register fail1',err);
            });
        })
        .catch(function(err){
            console.error("sync error =>",err);
            return ReE(err, 200,'register fail2',err);
        });
}

module.exports = usersController;

它返回 success message ,但它只插入 field_idcreatedAtupdatedAt

注意:我已经使用 express-validator 验证了所有值,因此我没有在

中定义
TBL_USERS = db.connection.define('users');

请帮我解决这个问题

最佳答案

需要在users.js或数据库模型文件中定义数据类型。添加两行如下

username: DataTypes.STRING,
password: DataTypes.STRING

没有理由不工作。谢谢

关于mysql - 如何在express.js中使用sequelize在mysql表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48905168/

相关文章:

node.js - Nodejs 中的连续任务

node.js - Node/Mocha 测试超时

mysql - 如果没有结果,选择 COUNT (*) 失败

mysql - 为什么内连接比单独查询慢

mysql - 无法在语句中使用多个 not

javascript - TesserActJS错误: UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of null

MySQL 多主复制多位置

javascript - 将具有分隔键的对象转换为嵌套对象

node.js - 将await/async 与mocha、chai 一起使用

express - 带有 express-handlebars 的 webpack