Hola a todos,
estoy comenzando con el mundo de las bases de datos y he escogido PostgreSQL para comenzar. Para aprender he planteado el siguiente ejercicio, creemos una base de datos en la que yo pueda hacer consultas a traves de Node sobre los integrantes de un equipo de fútbol.
Por ahora tengo una base de datos llamada "Equipo" donde he creado varias tablas. Una de ellas se llama "Jugadores" y contiene las columnas ID(Integer), Name(character varying), Age(Integer) y he rellenado las columnas con datos manualmente.
El código que tengo por ahora es este:
const express = require('express');
var pgp = require('pg-promise')( /*options*/ )
const app = express();
var db = pgp('postgres://postgres:passw@IP:Puerto/Equipo');
app.get('/', (req, res) => {
console.log(req.user_id);
db.any('SELECT * FROM public."Jugadores" WHERE id=$1' [1])
.then(function(data) {
// success;
console.log("data : ", data);
res.send(data);
})
.catch(function(error) {
// error;
console.log("error.....");
});
});
Esto me devuelve en el buscador:
[{"ID":1,"Name":Raul,"Age":19}]
Sin embargo cuando en la query tomo como parámetro de búsqueda el nombre, el resultado es []. Es decir esto no me funciona:
app.get('/', (req, res) => {
console.log(req.user_id);
db.any('SELECT * FROM public."Jugadores" WHERE Name=$1', ['Raul'])
.then(function(data) {
// success;
console.log("data : ", data);
res.send(data);
})
.catch(function(error) {
// error;
console.log("error.....");
});
});
¿Alguien me podría explicar porqué puedo realizar búsquedas con el ID pero si uso los valores de Name no?
Un saludo
Gracias de antemano!