You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将条件判断整合到Sequelize的where对象声明语句中?

解决方案:将条件判断整合到Sequelize where初始声明里

你可以利用JavaScript的对象展开运算符结合短路逻辑判断,把原本的if条件逻辑直接整合到where对象的初始声明中,代码如下:

const where = {
  office_no: 1999,
  status: "APPLY",
  [Op.and]: [
    Sequelize.literal(
      `${property_master_no} member of (request_json->'$.property[*].property_master_no')`,
    ),
  ],
  // 当document_no存在时,动态添加no字段的排除条件
  ...(document_no ? { no: { [Op.not]: document_no } } : {}),
};

逻辑说明

  • 使用...对象展开运算符,将后面的条件对象合并到主where对象中
  • 当document_no为真值(非空、非undefined等)时,返回包含no排除条件的对象;否则返回空对象,不会对原where结构产生影响
  • 这个写法和你原本的if判断逻辑完全等价,但实现了用const一次性声明初始化where对象的需求

内容的提问来源于stack exchange,提问作者BdPk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 12:35:54