【发布时间】:2025-11-25 20:50:02
【问题描述】:
我是 nodejs 和 reactjs 的初学者,我从 reactjs 和 nodejs 开发了一个应用程序,我使用 postgresql 作为数据库,当我尝试通过调用 server.js 中的 api 来获取员工详细信息时,它会在 VScode 控制台中显示数据日志,但是如果我在浏览器的开发者控制台中看到,则说明没有从数据库中获取数据,有人帮我解决这个问题吗?
server.js
var restify=require('restify')
const {empdetails,empdetails_id } = require('./Function');
var server=restify.createServer() //server created
server.get('/empdetails',empdetails)
server.get('/empdetails_id/:id',empdetails_id)
server.listen(8080, function(){
console.log("server started...")
})
function.js
var Sequelize=require('sequelize')
const connection = new Sequelize('mydb', 'postgres', '123456', {
host: 'localhost',
dialect: 'postgres'
});
var Emp=connection.define('emp',{
fullName: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
}
})
module.exports ={
// employee details fetched
empdetails: function empdetails(req,res,next){
// res.send('employee details ')
connection.sync().then(function(){
Emp.findAll().then(function(emps){
console.log(emps)
var sample=emps
console.log(sample)
res.send(emps);
})
})
},
// employee details by ID
empdetails_id: function empdetails_id(req,res,next){
res.send('employee details of : '+req.params.id)
connection.sync().then(function(){
Emp.findByPk(req.params.id).then(function(emps){
console.log(emps)
})
})
},
};
【问题讨论】:
-
顺便提一下,您每次都在请求时调用 sequelize.sync。如果模型发生更改,这将导致数据库重置。也没有必要。它仅用于创建数据库,应在启动 nodejs 服务器之前调用一次以用于“开发”目的。对于生产,您不使用 sequelize.sync。您应该检查 sequelize 迁移。 sequelize.org/master/manual/migrations.html
标签: node.js reactjs sequelize.js sequelize-cli