如何使用文字匹配进行过滤?

时间:2019-09-02 07:40:50

标签: node.js mongoose

我想在mongodb和node中进行查询,以匹配的文本进行过滤。

我尝试接收发送的参数,并在开头和结尾使用斜杠将其连接起来,但是它不起作用。

const {filterTerm} = req.body;
    const slash1 = "/";
    const slash2 = "/";

    const term = slash1.concat(filterTerm);
    const finalTerm = term.concat(slash2);

    console.log(finalTerm);

    Bookings.find({$or: [{email: finalTerm}, {phone: finalTerm}]})
        .exec((err, docs) => {
            res.json(docs);
        });`

1 个答案:

答案 0 :(得分:3)

使用RegExp

const finalTerm = term.concat(slash2);
Bookings
  .find({$or: [{email: new RegExp(finalTerm, 'gi') }, {phone: new RegExp(finalTerm, 'gi') }]})
  .exec((err, docs) => {
      res.json(docs);
  });