Как искать конкретную вещь в таблице с помощью postgres/nodejs

0

Вопрос

В настоящее время я использую postgres, получая доступ к нему через сервер узлов.

Я чувствую, что застрял на том, как бы я искал определенный термин в таблице, чтобы внести изменения. Я знаю, что могу ВЫБРАТЬ определенные элементы, но я не знаю, как искать внутри элементов.

скажи, что мой столик:

животное приятный страшный
Средняя Собака ДА НЕТ
Маленькая Собачка ДА НЕТ
Пушистая Собака ДА НЕТ
Большая Собака ДА ДА
Большая Кошка НЕТ ДА
Мелкая Рыбешка НЕТ НЕТ

Внезапно меня укусила собака, и теперь я хочу изменить все, что содержит "собака|Собака", на страшное: да.

Я действительно не могу найти никаких хороших ресурсов для создания этой функции. Возможно, я что-то упустил из виду.

Прямо сейчас я использую простой ВЫБОР, подобный этому:

app.get('/update/:type', (req, res) => {
  pool.query("SELECT animal FROM petlist WHERE scary = 'no' AND animal = $1",[req.params.client],
   (error, results) => {
    if (error) {
      console.log("I selected dog, but I can't see the specific types of dog!")
      throw error
      }
    console.log(results.rows);
    res.status(200).json(results.rows)
  })
});
javascript node.js postgresql sql
2021-11-24 02:38:38
1

Лучший ответ

2

Я не знаю вашего языка обскуризации (nodejs), но предикат Postgres, который вы ищете, будет либо похожим, либо регистровым преобразованием столбца animal. Итак

select animal 
  from petlist 
 where scary = 'no' 
   and animal ilike '%dog'; 

-- or if nodejs complains about ilike then 
select animal 
  from petlist 
 where scary = 'no' 
   and lower(animal) like '%dog'; 

так что, возможно, что-то вроде:

app.get('/update/:type', (req, res) => {
  pool.query("SELECT animal FROM petlist WHERE scary = 'no' AND animal ILIKE $1,[req.params.client],
   (error, results) => {
    if (error) {
      console.log("I selected dog, but I can't see the specific types of dog!")
      throw error
      }
    console.log(results.rows);
    res.status(200).json(results.rows)
  })
});

с помощью req.params.client устанавливается в строку %dog.

2021-11-24 23:06:34

Это просто фантастика! Большое спасибо, я не знал о том, что мне нравится. Было немного больно заставлять nodejs передавать правильный термин с апострофами и процентными отметками, но в конце концов я добрался туда, и это отлично работает. Еще раз спасибо вам!
SGPascoe

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................