Ошибка : Crud с использованием Nodejs express и Mysql

#mysql #node.js #express #fetch #crud

Вопрос:

Я столкнулся с проблемой в своем проекте, я пытался сделать CRUD с помощью MVC, но когда я запускаю код, он не возвращает никаких данных из бд, соединение работает нормально, я не знаю, почему оно не работает. Я использую NodeJS Express и mysql.

вот мой код :

index.js:

 db.connect(function(err) {  if (err) {  return console.error('error: '   err.message);  }  console.log('Connected to the MySQL server.'); });  const usersRouter= require("./routes/routes");  app.use("/api/", usersRouter)  

routes.js:

 // get latest record of airMonitoring  router.get("/", airController.getAllData);  

Model.js:

 const AirMonitoring = function(table){  this.id = table.id;  this.Temperature = table.Temperature;  this.Humidity = table.Humidity;  this.AirCondition = table.AirCondition;  } // get all data from airMonitoring    AirMonitoring.getAllData = ( result) =gt;{  db.query('SELECT * FROM AirMonitoring', (err, res)=gt;{  if(err){  console.log('Error while fetching airMonitoring', err);  result(err, null);  }else{  console.log('AirMonitoring fetched successfully');  result(res, null);  }  })  }  

Controller.js:

 exports.getAllData = (req, res)=gt; {    AirModel.getAllData((err, airMonitoring) =gt;{  if(err)  res.send(err);  console.log('data', airMonitoring);  res.send(airMonitoring)  }) }  

и ошибка, полученная от почтальона :

введите описание изображения здесь

консоль ошибок :

введите описание изображения здесь

Ответ №1:

Вам нужно res перезвонить в своем if (err) заявлении. Если вы не добавите возврат, он продолжит выполнение следующих кодов.

 if(err) return res.send(err);  

Опять же, ваша ошибка произошла из-за чего-то до этого.

Комментарии:

1. Я попытался отредактировать его, но все равно теперь он повторяется : Ошибка при извлечении airMonitoring Ошибка: подключение ETIMEDOUT

2. тогда это ваша ошибка mysql