Por lo general, usaremos consultas SQL como las siguientes, pasaremos parámetros con el número predefinido $1
queryRunner.query('SELECT * FROM sample_data WHERE code IN ($1)', ['1'])
Pero quiero pasar múltiples parámetros sin $1 predefinido. ¿Alguna forma de resolver esto?
queryRunner.query('SELECT * FROM sample_data WHERE code IN ($$)', ['1','2','3'])
Un enfoque crea dinámicamente la cláusula IN
en función del número esperado de parámetros. Considerar:
var params = ['1','2','3']; var inClause = '?' + ', ?'.repeat(params.length - 1); var sql = 'SELECT * FROM sample_data WHERE code IN (' + inClause + ')'; console.log(sql);
Una vez que tenemos una declaración con el número correcto de marcadores de posición, simplemente podemos vincular la colección o matriz sin problemas.