假设我有一个表 gameData {gameId, currentBoardLayout} ,一个像 www.chess.com/ asd123 这样的获取请求被发送到服务器,其中 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 }
})
我怎样才能做到这一点?
谢谢
最佳答案
您可以使用 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'
})
})
})
这是正在发生的事情:
findById
方法将返回一个 promise 。如果成功,您将从数据库中取回您的项目。如果找不到该项目,则会触发 catch
方法。 res.send
是 Express 将数据发送回客户端的方式。 值得查看 Sequelize 文档:
关于javascript - 如何在 ORM(sequelize js)查询上添加条件检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52793665/