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

如何在Sequelize中编写OR条件的Student表查询语句?

在Sequelize中实现OR条件查询的解决方案

要实现你需要的OR条件查询,核心是使用Sequelize提供的Op.or操作符,以下是具体实现步骤:

1. 引入Sequelize操作符

首先需要从Sequelize中导入操作符对象Op:

// CommonJS 语法
const { Op } = require('sequelize');

// ES 模块语法
// import { Op } from 'sequelize';

2. 编写查询代码

假设Student是你已经定义好的Sequelize模型,直接调用findAll方法并在where选项中配置Op.or逻辑:

const targetStudents = await Student.findAll({
  where: {
    [Op.or]: [
      { Name: 'Doe' },
      { Email: 'doe@mail.com' }
    ]
  }
});

这段代码会生成你需要的SQL语句:

SELECT * FROM Student WHERE Name='Doe' OR Email='doe@mail.com'

旧版本兼容说明(Sequelize v4及更早)

如果你使用的是较旧的Sequelize版本,需要使用$or前缀操作符(该写法已被废弃,建议升级版本):

const targetStudents = await Student.findAll({
  where: {
    $or: [
      { Name: 'Doe' },
      { Email: 'doe@mail.com' }
    ]
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:55:13