NodeJS Sequelize检查查询是否有结果

e0bqpujr  于 2022-12-12  发布在  Node.js
关注(0)|答案(2)|浏览(127)

我是新的Sequelize,并希望检查做什么,如果我的选择有任何结果。
这是我用await获取数据的代码,我想检查结果来做一些事情。

const result = await db.bookmark.findAll();

我想检查一下这个查询是否有结果。

if(result){ /* do somthing */ } else { res.status(404) }

但我总是得到真的,因为我把结果作为一个模型来检查。
这是我的方法,效果很好,但我不确定这是不是正确的方法:

if(JSON.parse(JSON.stringify(result)) != false) // do something

是否有更简单的方法或途径来检查结果选择?

t9eec4r0

t9eec4r01#

findAll总是从模型返回结果。如果行不存在,它返回一个空数组。所以

if(result){ /* do somthing */ } else { res.status(404) }

上面的语句总是返回true。如果你想返回状态404,你可以检查空数组,如下所示

if(result.length != 0){ /* do somthing */ } else { res.status(404) }
cyvaqqii

cyvaqqii2#

我使用了findAndCountAll并检查result.count是否为0

相关问题