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

新手上路,sequelize的findAll如何用

新手上路,sequelize的findAll如何用

慕桂英3389331 2019-12-11 12:09:09
sequelize传了一个options进去userTable.findAll({where:{id:myId}})如果myId传了值会查出对应的数据但是如果传了空为什么会查出所有的列表,怎么样才能查出空集呢?
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

传空不就相当于没where条件么,可不就返回所有结果了么……

你可以给myId强行赋一个数据库不会存在的值,比如0啥的,{where:{id:myId||0}}补充回答:我只是给个侵入性最小的方案而已,基本没啥改动、还能保留了返回结果的强类型。如果从工程角度出发的话,应该做一层封装。


查看完整回答
反对 回复 2019-12-12
?
慕容708150

TA贡献1831条经验 获得超4个赞

我不认为@然后去远足的建议是好的,既然是空,为什么还需要去查询?我的建议是在执行数据库操作之前,判断id是否有,没有就直接返回空,而不是去搞一个不存在的id,再去数据库查询一遍这不是有点二嘛如果你涉及到,异步同步不好处理的情况,就需要把封装下,把同步也封装到异步里面去,这样外部的调用就透明了


查看完整回答
反对 回复 2019-12-12
  • 2 回答
  • 0 关注
  • 321 浏览
慕课专栏
更多

添加回答

举报

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