Я пытаюсь создать API модели MVC. У меня проблемы с выполнением запросов. Кажется, я неправильно экспортирую переменную подключения, потому что у меня ошибка «connection.query is not function».
Я пытался экспортировать его с помощью export.module, но, поскольку у меня уже есть маршрутизатор для экспорта, у меня была эта ошибка: TypeError ('Router.use () требуется функция промежуточного программного обеспечения, но получил' + gettype (fn))
TypeError: Router.use () требует функции промежуточного программного обеспечения, но получил объект
Я также пытался использовать этот синтаксис для экспорта: exports.connection = mysql.createConnection ({...}) Но проблема в connection.connect ()
который следует, больше не распознается, поэтому я не знаю, хорошо ли я на связи
Вот index.js:
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var indexController = require('../controllers/IndexController');
var booksController = require('../controllers/BooksController');
connection = mysql.createConnection({
debug:true,
host:'localhost',
user:'user',
password:'password',
database:'database'
});
connection.connect(function(error){
if(!!error){
console.log(error);
}else{
console.log('Connected!:)');
}
});
router.get('/', indexController.index);
router.get('/books', booksController.books);
module.exports = router;
Вот книги booksController.js:
var BooksModel = require('../models/BooksModel');
exports.books = async function(req, res, next){
res.send(await BooksModel.getAllBooks(req, res))
}
Вот booksModel.js:
var connection = require('../routes/index');
async function getAllBooks(req, res){
return await
connection.query("SELECT * FROM books", function (error,results, fields) {
if (error) throw error;
res.json(results);
});
});
}
module.exports={
getAllBooks
}
Я ожидаю получить данные, поступающие из моей базы данных, согласно запросу запроса. Любая помощь могла бы быть полезна. Спасибо!