sequelize字段过滤

需求:

  • url传type,sequelize则查询select * from xxx where type = xxx
  • url不传type,sequelize则查询select * from xxx

例:

  • localhost:3000/admin/metas/list
对应sql:select * from metas
  • localhost:3000/admin/metas/list?type=1
对应sql:select * from metas where type = 1

clipboard.png

这样写不行,不传type时候查的是 select * from metas where type = null

第一次用sequelize,请大神指点

阅读 6.5k
2 个回答

把查询条件拿出来就行了:

let query = {};
if (ctx.request.query.type) {
    query.type = ctx.request.query.type;
}
await Metas.findAll({
    where: query
})

不传type的时候请求是不是这样的 localhost:3000/admin/metas/list?type=

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题