假设我有一个表 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 }
})
我该如何实现? 谢谢
答案 0 :(得分:0)
您可以使用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'
})
})
})
这是正在发生的事情:
Sequelize的findById
方法将返回一个Promise。如果成功,您将从数据库中取回您的项目。如果找不到该项目,则将触发catch
方法。
res.send
是Express的将数据发送回客户端的方式。
值得检查Sequelize文档: