Tengo una base de datos psql que almacena reseñas de un determinado producto.
Cuando el cliente solicita datos de la API, envía una solicitud con product_id, count y sort como parámetros de consulta.
Tengo este fragmento de código a continuación que debería consultar la base de datos y recuperar los datos correctos.
async (query) => { const sort = { relevance: 'helpfulness DESC, date DESC', helpfulness: 'helpfulness DESC', newest: 'date DESC' }; const sql = 'SELECT id, product_id, rating, to_timestamp(date / 1000) AS date, summary, body, recommend, reviewer_name, reviewer_email, response, helpfulness, photos FROM reviews WHERE product_id=$1 AND reported=false ORDER BY $2 LIMIT $3' try { const result = await pool.query(sql ,[query.product_id, sort[query.sort] || sort.relevance, query.count || 5]); return result; } catch (error) { throw new Error(error); }}Mi problema es que la clasificación no se aplica en absoluto durante la consulta. Tomará el product_id correcto y también limitará las filas que se devuelven correctamente, pero la ordenación simplemente no se aplicará.