【问题标题】:How to add conditional checks over ORM (sequelizejs) queries?如何对 ORM (sequelizejs) 查询添加条件检查?
【发布时间】:2018-10-13 13:55:01
【问题描述】:

假设我有一个表 gameData {gameId, currentBoardLayout},像 www.chess.com/asd123 这样的 get 请求被发送到服务器,其中 asd123 是我的游戏 id,我需要捕获这个 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 }
    })

我怎样才能做到这一点? 谢谢

【问题讨论】:

    标签: javascript express sequelize.js


    【解决方案1】:

    您可以使用 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 是 Express 将数据发送回客户端的方式。

    值得查看 Sequelize 文档:

    【讨论】:

      猜你喜欢
      • 2013-06-24
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      相关资源
      最近更新 更多