【问题标题】:How to make Sequelize search by several fields?Sequelize如何实现多字段搜索?
【发布时间】:2023-01-26 12:11:47
【问题描述】:

我花了很多时间寻找答案,但没有找到

所以,我的问题是 - 我正在尝试创建这样的条件:

where: {
        [Op.and]:
          [
            { skill: 'IDE', months: { [Op.gte]: 28 } },
            { skill: 'REST', months: { [Op.gte]: 20 } },
          ]
      }

但它就是行不通 可能这不是做我需要的事情的正确方法?

【问题讨论】:

  • 有错误吗?查询是什么样的?上下文会有所帮助......也许你想要一个Op.or?
  • 我只是没有结果

标签: javascript node.js sequelize.js


【解决方案1】:

可能您想要这样的or

const { Op } = require("sequelize");
Post.findAll({
  where: {
    [Op.or]: [
      { authorId: 12 },
      { authorId: 13 }
    ]
  }
});

【讨论】:

  • 实际上,我需要“和”,因为用户会选择技能和月份,然后再添加一项技能和月份,所有这些都是必要的
  • 所以有一行 skill: 'IDE'skill: 'REST'
  • 不,它是不同的行,但具有相同的 parent_id
【解决方案2】:

我认为你不能那样使用它。您可以尝试以下代码。

where: {
        [Op.and]:
          [
            { [Op.and]:[{skill:'IDE'},{months:{[Op.gte]:28}] },
            { [Op.and]:[{skill:'REST'},{months:{[Op.gte]:20}] },
          ]
      }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-18
    • 2010-12-19
    • 2022-01-07
    • 2016-03-19
    • 1970-01-01
    • 2015-04-16
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多