Как заменить? заполнитель с * в запросе MySQL в Node/Express
Ниже приведен блок кода, который я использую для динамического построения запроса на основе параметров строки запроса. Все работает, как и ожидалось, однако, если первое условие верно, я пытаюсь заменить?? заполнитель с * и получая следующую ошибку:
Неизвестный столбец '*' в 'списке полей'
ПРИМЕЧАНИЕ: я использую пакет node-mysql2 здесь
async getTemplates(req, res, next) {
let queryString = 'SELECT ?? FROM templates'
let filters = []
let queryParams = Object.entries(req.query)
if (!req.query.select) {
filters.unshift('*')
}
queryString += ' WHERE'
queryParams.forEach(([key, value]) => {
if (key === 'select') {
filters.unshift(`${value}`)
} else {
filters.push(`${key}`, `${value}`)
queryString += ' ?? = ? AND'
}
})
queryString = queryString.slice(0, -4)
try {
let results = await db.query(queryString, filters)
if (!results || results == '') {
res.status(404).json({ message: 'Templates not found' })
} else {
res.status(200).json(results)
}
} catch (error) {
next(error)
}