mysql - 如何在sequelize、node js中使用like in where条件

标签 mysql node.js express sequelize.js

我正在尝试从要使用多个条件的表中过滤数据。当我像查询中那样应用时,它显示应用程序错误。 如何做同样的事情?

我正在使用nodejs框架、express、sequelize和mysql。

router.get('/booking-information', function (req, res) {
  // Get orders
  Promise.all([Order.findAll({
    /*where: {
      endDate: null,
    },*/
    order: [
    ['id', 'DESC'],
    ]
    }),
    Professional.findAll({where: {status : '1'}})
  ])
    .then(([orders, professionals]) => {
      orders.map((order) => {
        let professionalsInSameArea = professionals.filter((professional) => {
          return (professional.service === order.service || professional.secondary_service LIKE '%' + order.service + '%') && (professional.area === order.area || order.area === professional.secondary_area);
        });
        order.professionals = [...professionalsInSameArea]
        return order;
      });
      res.render('booking-information', {title: 'Technician', orders: orders, user: req.user});
    })
      .catch((err) => {
        console.error(err);
      });
});

我想过滤掉已下订单的同一地区、同一服务的专业人士。

最佳答案

you can use Op operator in query
like :-

const Op = Sequelize.Op

{
  [Op.or]: [
    {
      fieldName: {
        [Op.like]: 'abc%'
      }
    },
    {
      fieldName: {
        [Op.like]: '%abc%'
      }
    }
  ]
}

关于mysql - 如何在sequelize、node js中使用like in where条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092309/

相关文章:

javascript - 扁平化_very_嵌套密集型函数: how to?

node.js - 快速 Passport 检查用户是否经过身份验证

java - 如何从Java连接到MySQL而不将密码存储为明文

mysql - SQL:查找包含特定日期的数据

php - 正则表达式在 PHP 中将一串信息分割成单独的可用数据 block

arrays - 搜索 Node js数组与变量部分匹配,返回索引或值

php - 使用 PHP OOP 连接到数据库

arrays - 如何提高 MongoDB 批量性能?

node.js - 将图像上传到 Node.js Express 服务器 Swift

node.js - 如何在 MongoDB collection.find() 上获取回调