Для выполнения сложных запросов к базе данных через Node.js необходимо использовать соответствующую библиотеку для работы с базами данных. В данном ответе я рассмотрю пример работы с PostgreSQL базой данных и библиотекой node-postgres.
1. Установка зависимостей:
Перед началом работы необходимо установить зависимости при помощи команды:
npm install pg
2. Подключение к базе данных:
const { Pool } = require('pg'); const pool = new Pool({ user: 'ваш_пользователь', host: 'ваш_хост', database: 'ваша_база_данных', password: 'ваш_пароль', port: ваш_порт, });
3. Выполнение запросов:
Пример выполнения простого запроса SELECT:
const getUsers = async () => { try { const { rows } = await pool.query('SELECT * FROM users'); console.log(rows); } catch (error) { console.error(error); } }
Пример выполнения запроса SELECT с параметрами:
const getUserById = async (userId) => { try { const { rows } = await pool.query('SELECT * FROM users WHERE id = $1', [userId]); console.log(rows); } catch (error) { console.error(error); } }
Пример выполнения запроса INSERT:
const createUser = async (user) => { try { const { rows } = await pool.query('INSERT INTO users (name, age) VALUES ($1, $2) RETURNING *', [user.name, user.age]); console.log(rows); } catch (error) { console.error(error); } }
Пример выполнения запроса UPDATE:
const updateUser = async (userId, newName) => { try { const { rows } = await pool.query('UPDATE users SET name = $1 WHERE id = $2 RETURNING *', [newName, userId]); console.log(rows); } catch (error) { console.error(error); } }
Пример выполнения запроса DELETE:
const deleteUser = async (userId) => { try { const { rows } = await pool.query('DELETE FROM users WHERE id = $1 RETURNING *', [userId]); console.log(rows); } catch (error) { console.error(error); } }
Это основные примеры выполнения запросов к базе данных при помощи библиотеки node-postgres. Она предоставляет удобный и безопасный способ взаимодействия с базой данных в Node.js. Выше приведенные примеры позволят вам выполнять сложные запросы и получать результаты для дальнейшей обработки в вашем приложении.