TechLead
Lección 8 de 8
5 min de lectura
Node.js Avanzado

Integración con bases de datos

Conecta Node.js con PostgreSQL, MySQL o MongoDB de forma segura

PostgreSQL con pool

const { Pool } = require('pg');
const pool = new Pool({ connectionString: process.env.DATABASE_URL });

app.get('/users', async (req, res, next) => {
  try {
    const result = await pool.query('SELECT id, name FROM users');
    res.json(result.rows);
  } catch (err) {
    next(err);
  }
});

Transacciones

const client = await pool.connect();
try {
  await client.query('BEGIN');
  await client.query('UPDATE accounts SET balance = balance - 10 WHERE id = 1');
  await client.query('UPDATE accounts SET balance = balance + 10 WHERE id = 2');
  await client.query('COMMIT');
} catch (err) {
  await client.query('ROLLBACK');
} finally {
  client.release();
}

ORMs y query builders

  • • Prisma
  • • Sequelize
  • • Knex
  • • Mongoose

Buenas prácticas

  • • Usa pool de conexiones
  • • Sanitiza inputs para evitar inyección
  • • Indexa columnas usadas en filtros
  • • Separa lógica de datos en repositorios

Sigue aprendiendo