API-интерфейс Node.js с Express & amp; mysql — переопределить извлеченные параметры для правильного поиска в столбце

В моем URL я хочу иметь возможность искать столбцы «активные» и «фамилия» … с параметрами:

active
name

как это:

localhost:4001/api/v1/users/?active=1&name=Peter

users.js

var sql = "SELECT * from users";
var existingParams = ["active", "name"].filter(field => req.query[field]);

if (existingParams.length !== 0) {
sql += ' WHERE ';
sql += existingParams.map(field => `${field} = ?`).join(" AND ");
}

… предоставляет мне это:

SELECT * from users WHERE active = ? AND name = ? LIMIT 100

Я получаю ошибку, хотя … так как имя столбца в базе данных определено как «last_name» … так что я хочу закончить с sth следующим образом:

SELECT * from users WHERE active = ? AND last_name = ? LIMIT 100

… но сохраните параметр поиска в URL «имя». Как мне нужно изменить мой сценарий?

0

Решение

existingParams.map(field => {
if (field === 'name') {
field = 'last_name'
}
return `${field} = ?`
}).join(" AND ");
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector