javascript - 使用多个或在 sequelize 中使用

标签 javascript node.js database sequelize.js where

我想在 sequelize 中使用 3 或条件编写一些复杂的 where

SQL where 示例:

where 
(c1 = 'a' or c2 = 'b' or c3 = 'c' or c4 = 'd') 
and (c5 = 'e' or c6 = 'f' or c7 = 'g' or c8 = 'h') 
and (c9 = 'i' or c10 = 'j')

在 sequlelize 中我写了这样的东西:

where: {
  $and: {
    $or: [{ c1: 'a' }, { c2: 'b' }, { c3: 'c' }, { c4: 'd' }]
  },
  $or: [{ c5: 'e' }, { c6: 'f' }, { c7: 'g' }, { c8: 'h' }]
}

但是我如何添加这个对象:$ 或:[{ c9: 'i' }, { c10: 'j' }]

附言在我使用 Op 的项目中不用担心。

最佳答案

您需要一个包含内部部分条款的外部 $and 属性。

where: {
    $and: [
        {
            $or: [
                { c1: 'a' }, { c2: 'b' }, { c3: 'c' }, { c4: 'd' }
            ]
        },
        {
            $or: [
                { c5: 'e' }, { c6: 'f' }, { c7: 'g' }, { c8: 'h' }
            ]
        },
        {
            $or: [
                { c9: 'i' }, { c10: 'j' }
            ]
        }
    ]
}

关于javascript - 使用多个或在 sequelize 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55610324/

相关文章:

mysql - 我想选择批处理 ID,其中包含从 SQL 表中提供的两个选定类(class)

javascript - 摆脱本地主机 :3000 URLs for ReactAsync

javascript - 如何制作发布apk?

javascript - 如何使用 cradle 在一次通话中创建多个附件

mysql - Lambda从mysql RDS获取数据但超时

python - 使用 SQLAlchemy 关联代理强制唯一性

sql - 简单的数据库规范化问题

用于匹配 HTML 标签的 JavaScript 惰性正则表达式

javascript - jQuery UI Datepicker 仅响应第一个文本框

javascript - 在之前的所有动画播放完毕后,我应该如何暂停 SVG 动画以保留静态图像?