Node.js 错误:db.sequelize.define不是NodeJS中的函数
我是node新手,在这里我将把mysql映射到我的node项目。 model/User.jsNode.js 错误:db.sequelize.define不是NodeJS中的函数,node.js,sequelize.js,Node.js,Sequelize.js,我是node新手,在这里我将把mysql映射到我的node项目。 model/User.js const Sequelize = require('sequelize') const db = require('../database/db.js') module.exports = db.sequelize.define( 'user', { user_id: { type: Sequelize.INTEGER,
const Sequelize = require('sequelize')
const db = require('../database/db.js')
module.exports = db.sequelize.define(
'user',
{
user_id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
first_name: {
type: Sequelize.STRING
},
last_name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
}
},
{
timestamps: false
}
);
const Sequelize = require("sequelize")
const db = {}
const sequelize = new Sequelize("node","root","",{
host: "localhost",
dialect: "mysql",
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire:30000,
idle:10000
}
})
db.sequelize = sequelize
db.sequelize = Sequelize
module.exports = db
在上述代码中,module.exports=db.sequelize.define()
出现错误,原因是db.sequelize.define不是函数。代码中出现此错误的原因是什么
数据库/db.js
const Sequelize = require('sequelize')
const db = require('../database/db.js')
module.exports = db.sequelize.define(
'user',
{
user_id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
first_name: {
type: Sequelize.STRING
},
last_name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
}
},
{
timestamps: false
}
);
const Sequelize = require("sequelize")
const db = {}
const sequelize = new Sequelize("node","root","",{
host: "localhost",
dialect: "mysql",
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire:30000,
idle:10000
}
})
db.sequelize = sequelize
db.sequelize = Sequelize
module.exports = db
问题在于数据库文件
db.js
中定义和导出sequelize的方式。我建议您将其更改为:
const { Sequelize } = require('sequelize');
const db = new Sequelize("node","root","",{
host: "localhost",
dialect: "mysql",
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire:30000,
idle:10000
}
})
// I deleted what was causing the problem
module.exports = db;
在model/User.js中,您只需使用db.define()
调用define()
:
这就是问题所在。
拆下第2行。
或将其更改为:
db.Sequelize = Sequelize
然后不要使用
const Sequelize = require('sequelize')
在你的文件中,使用db.Sequelize代替。请检查上的答案。你能更新问题并包含db.js的代码吗?@Runsis我用db.js代码编辑了问题。好的,我找到了问题并添加了答案:D Kamalka!希望您能将其标记为已接受谢谢。db.**S**equalize=Sequelize这就是我的代码的问题。当我纠正它的工作。非常感谢您的代码。我真的很感激,我学到了很多。