@Alex10214

Как фильтровать массив в sequelize?

В базе у меня есть таблица с колонками "start_date", "end_date" и еще разными колонками. Но мне нужны данные "start_date", "end_date".
Вот как я запрашиваю данные из таблицы:
const getStartEndDateInTradePage = require('../models/Trades');

module.exports.getStartEndDateInTradePage = async (req, res) => {
  try {
    const arr = await getStartEndDateInTradePage.findAll(
      {
        attributes: ['open_date', 'close_date']
      }
    )
    res.status(201).json(arr);
  } catch (e) {
    console.log(e)
    res.status(500).json({
      message: 'Server ERROR!'
    })
  }
}

Данные приходят и все бы хорошо, НО вот пример какие данные я получаю:
[
  {open_date: "2002-07-30", end_date: "-"},
  {open_date: "2002-07-30", end_date: "2002-09-06"},
  {open_date: "2002-07-30", end_date: "-"},
  {open_date: "2002-07-30", end_date: "2002-09-06"},
  {open_date: "2002-09-06", end_date: "2002-12-06"},
  {open_date: "2002-09-06", end_date: "-"},
  {open_date: "2002-09-06", end_date: "2002-12-06"},
]

Подскажите, как можно отфильтровать в sequelize таким образом, чтоб если в "end_date" стоит прочерк, то объект на добавлялся в массив. Важно, чтобы на фронт пришли отфильтрованные данные. Так как их очень много.
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
RTFM

const arr = await getStartEndDateInTradePage.findAll(
      {
        attributes: ['open_date', 'close_date'],
        where: {
            close_date: {
              [Op.ne]: '-'
            }
          }
      }
    )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы