Как добавить условные проверки по запросам ORM (sequelizejs)? - PullRequest
0 голосов
/ 13 октября 2018

Предположим, у меня есть таблица gameData {gameId, currentBoardLayout} , запрос на получение, подобный www.chess.com/asd123, отправлен на сервер, где asd123 - моя игра.id, мне нужно поймать этот идентификатор (asd123, который является моим gameId) и проверить его в моей таблице (gameData) и реализовать следующую логику:

srv.get('/:id', (req, res) => {
    if ( gameData.findAll({where: {gameId: req.params.id} )
            { // Game room found
                return currentBoardLayout
            }
    else
            { error : Invalid game id }
    })

Как этого добиться?Спасибо

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете использовать метод Sequelize findById.

srv.get('/:id', (req, res) => {
  gameData.findById(req.params.id)
    .then(result => {
      res.send(result)
    })
    .catch(() => {
      res.send({
        error: 'Could not find ID'
      })
    })
})

Вот что происходит:

  1. Метод Sequelize findById вернет обещание.В случае успеха вы получите свой предмет из базы данных обратно.Если элемент не может быть найден, сработает метод catch.

  2. res.send - это экспресс-способ отправки данных обратно клиенту.

Стоит проверить документы Sequelize:

...