libpostgresbridge
v1.0.2
Published
Librería de postgreSql para gestionar querys
Downloads
303
Readme
libpostgresbridge
Librería ligera para trabajar con PostgreSQL en Node.js con soporte para:
- Queries simples
- Queries con parámetros
- Bloques de queries
- Transacciones
- Callbacks
- Async / Await
- Múltiples conexiones
Instalación
npm install libpostgresbridgeImportar la librería
const libpostgresbridge = require("libpostgresbridge")Conexión a la base de datos
Conexión usando configuración externa
const proyecto = new libpostgresbridge(config.bd.proyecto);Conexión manual
const salud = new libpostgresbridge({
user: 'postgres',
password: 'admin',
host: '127.0.0.1',
port: 5432,
database: "Salud",
ssl: false,
});Soporte de Callbacks
proyecto.Query("DROP TABLE IF EXISTS prueba;", (res) => {
console.log(res);
proyecto.Query("SELECT * INTO TEMP TABLE prueba FROM usuarios", (res) => {
console.log(res);
proyecto.Query("SELECT * FROM prueba", (res) => {
console.log(res);
});
});
});Bloques de queries con parámetros
proyecto.Query([
{
text: "SELECT * FROM usuarios WHERE usuarios_id = $1",
values: [1]
}
], (res) => {
console.log(res[0].data);
});Bloques de queries clásicos (async)
const resultado = await proyecto.Query([
`CREATE TEMP TABLE prueba AS SELECT * FROM usuarios`,
`SELECT * FROM prueba`
])
console.log(resultado)Query con parámetros (único)
proyecto.Query(
{
text: "SELECT * FROM usuarios WHERE usuarios_id = $1",
values: [1]
},
(res) => {
console.log(res);
}
);Query clásico
proyecto.Query("SELECT * FROM usuarios WHERE usuarios_id = 1", (res) => {
console.log(res);
});Queries individuales asincrónicos
await proyecto.Query("DROP TABLE IF EXISTS prueba2")
await proyecto.Query("SELECT * INTO TEMP TABLE prueba2 FROM usuarios")
const leetabla = await proyecto.Query("SELECT * FROM prueba2")
console.log(leetabla.data)Transacciones (async)
await proyecto.Transaction(async (client) => {
const a = await client.query(
"INSERT INTO usuarios(nombre) VALUES('juan1')"
)
console.log(a)
const b = await client.query(
"INSERT INTO usuarios(nombre) VALUES('pedro2')"
)
console.log(b)
})Bloques de queries con parámetros (async)
const resultado2 = await proyecto.Query([
{
text: "INSERT INTO usuarios (nombre) VALUES ($1) RETURNING usuarios_id",
values: ['john prueba2']
},
{
text: "SELECT * FROM usuarios"
},
{
text: "SELECT * FROM usuarios WHERE usuarios_id = $1",
values: [2]
},
{
text: "UPDATE usuarios SET nombre = $2 WHERE usuarios_id = $1",
values: [2, 'John']
},
{
text: "DELETE FROM usuarios WHERE usuarios_id = $1",
values: [200]
}
])
console.log(resultado2)Múltiples conexiones
salud.Query(["SELECT 1 AS x"], (res) => {
console.log(res);
});Licencia
MIT
