Я создал пользовательскую модель и экспортировал ее в контроллер, но во время .create() функция не работает должным образом. Отображается ошибка TypeError: userModel.create не является функцией, она должна была создать таблицу.
'use strict';
module.exports = function(sequelize, DataTypes) {
const User = sequelize.define('user', {
email: {
type: DataTypes.STRING,
defaultValue:'',
allowNull:false,
validate: {
notNull: true,
}
},
name:{
type:DataTypes.STRING,
defaultValue:'',
allowNull:true
},
city:{
type:DataTypes.STRING,
defaultValue:'',
allowNull:true
}
},
{
freezeTableName: true,
}
);
return User;
};
'use strict';
module.exports = function(sequelize, DataTypes) {
const User = sequelize.define('user', {
email: {
type: DataTypes.STRING,
defaultValue:'',
allowNull:false,
validate: {
notNull: true,
}
},
name:{
type:DataTypes.STRING,
defaultValue:'',
allowNull:true
},
city:{
type:DataTypes.STRING,
defaultValue:'',
allowNull:true
}
},
{
freezeTableName: true,
}
);
return User;
};
Я тоже пробовал const userModel = require('../../../models/user').User но не получилось
Ниже приведен пользовательский контроллер для предоставленной модели.
"use strict";
const userModel = require('../../../models/user')
saveUserProfile(req, res) {
userModel.create(req.body).then(user => {
console.info("User Data", user);
res.send({ data: user })
});
}
module.exports = new user();
Как я могу это сделать? Это было бы полезно
Я отправил ответ, чтобы помочь.





Ваш код экспортирует функцию, а не объект User. Поэтому вам нужно вызвать функцию с зависимостями внутри вашего контроллера, чтобы вызвать userModel.create.
Я предполагаю, что ваш контроллер знает о seqeulize и DataTypes, в противном случае вам нужно будет импортировать их и передать дальше или import прямо в вашем model.
Используйте оператор require ниже и введите sequelize и DataTypes с вашего контроллера.
const userModel = require('../../../models/user')(sequelize, DataTypes).User
Вы экспортируете функцию, которая ожидает params. Вы не экспортируете объект
User. Итак, вам нужно передать вызов этой функции и передать(sequelize, DataTypes)