新手上路,sequelize的findAll如何用

sequelize传了一个options进去userTable.findAll({where:{id:myId}})如果myId传了值会查出对应的数据但是如果传了空为什么会查出所有的列表,怎么样才能查出空集呢?


慕桂英3389331
浏览 322回答 2
2回答

喵喔喔

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

慕容708150

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

相关分类

JavaScript