Реализовать поиск по вхождению с начала строки node.js (postgres)

подскажите пожалуйста, не могу реализовать поиск по вхождению с начала строки. В базе таблица words, колонка с данными search-word. Реализован метод получения списка. Добавить поиск, фильтрацию не удается. Скорее всего ошибка в написании функции или SQL запроса.

router.js

router.get('/list', listController.searchList)

controller.js

async searchList(req, res) {
try{
  const searchList = await listService.searchList()

  return res.json(searchList)

}catch{
  console.log(err)
}
}

service.js

 async searchList() {
const q = req.query.q;

const findWord = await db.query('SELECT * FROM words WHERE "search-word" LIKE $1', [q + '%'])
console.log(findWord)

return findWord; 
}

запрос в POSTMAN http://localhost:3000/api/list?q=аспирин введите сюда описание изображения

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Сергей

Нашел проблему. Некорректный SQL запрос + необходимо было передавать параметр в функцию. service.js

async searchList(tag) {

    const findWord = await db.query(`SELECT * FROM words WHERE "search-word" ILIKE $1`, [tag + '%']);

    return words; 

  }

controller.js

async searchList(req, res) {
    try{
      const tag = req.query.q
      const searchList = await listService.searchList(tag)

      return res.json(searchList)

    }catch{
      console.log(err)
    }
  }
→ Ссылка