gpt4 book ai didi

javascript - User.create 不是一个函数 sequelize

转载 作者:行者123 更新时间:2023-12-03 22:34:57 24 4
gpt4 key购买 nike

我刚开始使用 express js。我想在用户表中插入数据库。
我使用 sequelize 模型:生成来创建用户模型。就是这个

'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Users');
}
};

这是生成的模型
'use strict';

module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
name: DataTypes.STRING,
username: DataTypes.STRING,
email: DataTypes.STRING,
password: DataTypes.STRING
});
User.associate = function(models) {
// associations can be defined here


};

return User;
};


然后我有一个 Controller ,我有一个注册方法。
const Validator = require('validatorjs');
const bcrypt = require('bcrypt');
const privateKey = require('../config.json').secretKey;
const saltRounds = require('../config.json').saltRounds;
const User = require('../models/user');

exports.register = async (req, res, next) => {
rules = {
username: 'required|string|max:255|alpha_num',
email: 'required|email',
password: 'required|string|max:255',
name: 'required',
}

const validation = new Validator(req.body, rules);

if(validation.passes()){
let password = await bcrypt.hash(req.body.password, saltRounds);
User.create({
username: req.body.username,
password: password,
name: req.body.name,
email: req.body.email,
}).then(response => {
return res.status(200).json(response);
}).catch(err => {
return res.status(500).json(err);
});
}else{
return res.status(422).json(validation.errors);
}

}


但是我收到一条错误消息,说 User.create 不是一个函数。
这是我的文件结构 here

请我需要这方面的帮助。欣赏

最佳答案

当您使用 sequelize CLI sequelize-cli model:generate --name User 生成模型时,您应该从 index.js 文件夹中的 models 文件中导入它们

const db = require('../models');
db.User.create({})

关于javascript - User.create 不是一个函数 sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61965501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com