A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Manejando un Pool de conexiones

7/27
Recursos

Aportes 7

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Un pool de conexiones es un conjunto limitado de conexiones a una base de datos, que es manejado por un servidor de aplicaciones de forma tal, que dichas conexiones pueden ser reutilizadas por los diferentes usuarios.

Comparto mi c贸digo para el create, delete y update para las categor铆as.

users.service.js

const boom = require('@hapi/boom');

const pool = require('../libs/postgres.pool');

const getConnection = require('../libs/postgres');

class UserService {
  constructor() {
    this.users = [];
    this.pool = pool;
    this.pool.on('error', (err) => console.error(err));
  }

  async create(data) {
    return data;
  }

  async find() {
    const query = 'SELECT * FROM tasks';
    const rta = await this.pool.query(query);
    return rta.rows;
  }

  async findOne(id) {
    return { id };
  }

  async update(id, changes) {
    return {
      id,
      changes,
    };
  }

  async delete(id) {
    return { id };
  }
}

module.exports = UserService;

la verdad en este curso en espec铆fico estoy teniendo muchos problemas con el c贸digo, estoy recibiendo errores como this.pool.query(query);

Hasta este punto por cada llamado a de un servicio a la base de datos se esta creando una conexi贸n, de implementarse asi en todos los servicios se estarian creado multiples conexiones y esto no seria una buena practica.

Aqu铆 entra la interfaz de Pool de conexiones que permite usar varias conexiones en toda la aplicaci贸n pero reutilizando la primera.

Del modulo de pg admin importaremos el modulo de Pool y utilizaremos la siguiente configuraci贸n en un nuevo archivo dentro de libs llamado postgres.pool.js:

Ahora se debe implementar en los servicios, donde se remplazara la conexi贸n que anteriormente se tenia de la siguiente manera.

Super, ya quedo el pool en cada service