为了账号安全,请及时绑定邮箱和手机立即绑定

新手上路,sequelize的findAll如何用?

新手上路,sequelize的findAll如何用?

繁花不似锦 2019-10-25 20:26:30
sequelize传了一个options进去userTable.findAll({where:{id:myId}})如果myId传了值会查出对应的数据但是如果传了空为什么会查出所有的列表,怎么样才能查出空集呢?
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

传空不就相当于没where条件么,可不就返回所有结果了么……
你可以给myId强行赋一个数据库不会存在的值,比如0啥的,{where:{id:myId||0}}
补充回答:
我只是给个侵入性最小的方案而已,基本没啥改动、还能保留了返回结果的强类型。
如果从工程角度出发的话确实@糟老头是对的,应该做一层封装。
                            
查看完整回答
反对 回复 2019-10-25
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

@勇敢的少年
我不认为@然后去远足的建议是好的,既然是空,为什么还需要去查询?
我的建议是在执行数据库操作之前,判断id是否有,没有就直接返回空,而不是去搞一个不存在的id,再去数据库查询一遍
这不是有点二嘛
如果你涉及到,异步同步不好处理的情况,就需要把封装下,把同步也封装到异步里面去,这样外部的调用就透明了
                            
查看完整回答
反对 回复 2019-10-25
  • 2 回答
  • 0 关注
  • 650 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信