javascript - 在 where arg 中使用多个约束对查询 findAll 进行 Sequelize

标签 javascript express sequelize.js

新 Sequelize 在这里!

寻找一种使用 res.query 中的 2 个参数的方法。

没有任何 request.query 工作正常。

硬编码一切正常。

只有手机也可以正常工作。

有什么方法可以在它们之间同时使用它们(做 AND 或 OR)?

或者....有什么方法可以检查 res.query 中的所有 var 并根据需要应用它们!?

问候

exports.findAll = (req, res, next) => {
  const { phone, active } = req.query;  // phone(string), active(boolean)

  let condPhone = phone ? { userPhone: { [Op.like]: `%${phone}%` } } : null;
  let condActive = active ? { userActive: Boolean(active) } : null;

  Saloia.Users.findAll({ where: condActive })
    .then((data) => res.send(data))
    .catch((err) => {
      err.status = 500;
      next(err);
    });
};

最佳答案

您可以将多个条件作为 where 值的对象。

Saloia.Users.findAll({
  where: {
      foo: bar,
      foo2: bar2
    }
});

关于javascript - 在 where arg 中使用多个约束对查询 findAll 进行 Sequelize ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61088949/

相关文章:

javascript - 如何防止仅针对 favicon 的 HTTP 请求?

node.js - Passport.js session 在重定向后丢失

javascript - 类型错误 : task is not a function in async js parrallel

node.js - 使用 Sequelize 在额外字段(链接器表)上排序

node.js - Sequelize JS 构建关联

javascript - JSON - 对象数组到数组对象

javascript - KnockoutJS 必需/禁用属性未删除

javascript - 缩放 HTML5 Canvas 宽度保持 w/h 纵横比

javascript - 使用 http.post 时表示 req.body 为空

node.js - 在 Sequelize 中获取另一个名称的属性?