Новичек в Node, в качестве отработки навыков решил написать аналог новостного сайта.
С рубриками, фильтрацией по рубрикам, рейтингу, дате и тд.
Использую связку NodeJs + Express + EJS + MySQL
Как в одном get запросе объединить несколько запросов к базе.
В моем случае хочу одновременно выводить из бд отдельным списком категории, из таблицы "Категории" и списком все новости из таблицы Articles на главной странице сайта.
Список категорий успешно вывел, а вот со вторым запросом как быть не знаю.
app.get('/', function(req,res) {
connection.query('SELECT id, category FROM categories', function (err, rows) {
if (err) throw err;
res.render('index', {menu: rows});
});
});
Сделал все отдельными маршрутами,
app.get('/news', function(req,res){
connection.query('SELECT title, id FROM articles', function (err, rows) {
if (err) throw err;
res.render('news', {art: rows});
});
});
И еще один вопрос, задам тут же
Насколько верно сделана структура самой базы?
В итоге получаю вот такой запрос на выборку
Запрос на выборку одной статьи
SELECT articles.category_id,
articles.title,
articles.text,
articles.image,
articles.author_id,
articles.raiting_id,
articles.data,
categories.category,
authors.name,
authors.surname,
raitings.raiting
FROM (((`articles`
INNER JOIN categories
ON
articles.category_id = categories.id)
INNER JOIN authors
ON
articles.author_id = authors.id)
INNER JOIN raitings
ON
articles.raiting_id = raitings.id)
WHERE
articles.id = '2';
Схему БД прилагаю.
Структура главной таблицы