Mysql Sequelize中未定义findOne属性
我正在尝试使用Sequelize和mysql db创建一个模型。我正在尝试发布到“/students/register”,它一直给我一个错误,说findOne不是一个函数。我尝试要求我的sql,但它不起作用。我还尝试了一个不同的函数,如findAll,但仍然不起作用。有什么问题吗?谢谢 models/Students.jsMysql Sequelize中未定义findOne属性,mysql,node.js,express,sequelize.js,Mysql,Node.js,Express,Sequelize.js,我正在尝试使用Sequelize和mysql db创建一个模型。我正在尝试发布到“/students/register”,它一直给我一个错误,说findOne不是一个函数。我尝试要求我的sql,但它不起作用。我还尝试了一个不同的函数,如findAll,但仍然不起作用。有什么问题吗?谢谢 models/Students.js const Sequelize = require('sequelize'); const sequelize = require('../database/db') mo
const Sequelize = require('sequelize');
const sequelize = require('../database/db')
module.exports = (sequelize, Sequelize) => {
const Student = sequelize.define(
'student', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
},
created: {
type: Sequelize.DATE,
defaultValue: Sequelize.NOW
}
}, {
timestamps: false
});
module.exports = Student;
};
const Sequelize = require('sequelize')
const sequelize = new Sequelize('canavs', 'root', 'root', {
host: 'localhost',
port: 8889,
dialect: 'mysql',
operatorAliases: false,
pool: {
max: 5,
min: 0,
acquire: 3000,
idle: 10000
}
})
// sequelize.import('./models/Students')
module.exports = sequelize;
const Student_Info = require('./models/Students')
const db = require('./database/db')
// app.use('/students', Student)
app.get('/getName', (req, res) => {
Student_Info.findOne({
where: {
id: 1
}
})
.then((student) => {
res.json(student.name);
})
.catch((err) => {
res.send('error' + err)
}
)
})
数据库/db.js
const Sequelize = require('sequelize');
const sequelize = require('../database/db')
module.exports = (sequelize, Sequelize) => {
const Student = sequelize.define(
'student', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
},
created: {
type: Sequelize.DATE,
defaultValue: Sequelize.NOW
}
}, {
timestamps: false
});
module.exports = Student;
};
const Sequelize = require('sequelize')
const sequelize = new Sequelize('canavs', 'root', 'root', {
host: 'localhost',
port: 8889,
dialect: 'mysql',
operatorAliases: false,
pool: {
max: 5,
min: 0,
acquire: 3000,
idle: 10000
}
})
// sequelize.import('./models/Students')
module.exports = sequelize;
const Student_Info = require('./models/Students')
const db = require('./database/db')
// app.use('/students', Student)
app.get('/getName', (req, res) => {
Student_Info.findOne({
where: {
id: 1
}
})
.then((student) => {
res.json(student.name);
})
.catch((err) => {
res.send('error' + err)
}
)
})
index.js
const Sequelize = require('sequelize');
const sequelize = require('../database/db')
module.exports = (sequelize, Sequelize) => {
const Student = sequelize.define(
'student', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
},
created: {
type: Sequelize.DATE,
defaultValue: Sequelize.NOW
}
}, {
timestamps: false
});
module.exports = Student;
};
const Sequelize = require('sequelize')
const sequelize = new Sequelize('canavs', 'root', 'root', {
host: 'localhost',
port: 8889,
dialect: 'mysql',
operatorAliases: false,
pool: {
max: 5,
min: 0,
acquire: 3000,
idle: 10000
}
})
// sequelize.import('./models/Students')
module.exports = sequelize;
const Student_Info = require('./models/Students')
const db = require('./database/db')
// app.use('/students', Student)
app.get('/getName', (req, res) => {
Student_Info.findOne({
where: {
id: 1
}
})
.then((student) => {
res.json(student.name);
})
.catch((err) => {
res.send('error' + err)
}
)
})
在
student
模型定义中,您没有返回定义
module.exports = (sequelize, Sequelize) => {
const Student = sequelize.define(
'student', {
...
}, {
timestamps: false
});
return Student; // You have to return the Student model in its definition
};
希望这有帮助…让它保持简单只导出学生模型无需导出Sequelize/Sequelize(db)bcoz您可以需要它而不是导出require
const Sequelize = require('sequelize');
const sequelize = require('../database/db');
const Student = connection.define('student', {
name: Sequelize.STRING,
email: {
type: Sequelize.STRING,
validate: {
isEmail: true
}
},
password: {
type: Sequelize.STRING,
validate: {
isAlpha: true
}
}
});
module.exports = Student;