在 Node JS 中搜索结果为 0

Getting 0 result on search in Node JS

我已经为搜索创建了一个 Node JS API,并在 MongoDB 中存储了一些数据。 我的数据存储方式如下:

FN02 ROL

FN02 ROM

FN02 RON

FN02 ROO

FN02 ROS

FN02 ROT

FN02 ROV

FN02 ROW

FN02 ROX

FN02 ROY

因此,当我使用 fn02 进行搜索时,效果很好,但是当我再添加一个参数(如 fno2r)时,它就不起作用了,我认为这是因为 space 但我不确定 trim space 但它仍然不起作用。

我的搜索代码是 searchquery 是我的搜索数据

let regexexp = new RegExp(searchquery,'i');
s = {"name": regexexp};

function callback(totalcount){
     db.collection("customers").find(s).limit(16).toArray(function(err, res) {
        if (err) throw err;
        responsedata = { status: true,error : false,data : res };
        resolve(responsedata);
      });
  }

知道我做错了什么吗?

我建议将输入中的任何空格设为可选:

let regexexp = new RegExp(searchquery.split('').join('\s*'),'i');

这里,

  • searchquery.split('') - 将 searchquery 拆分为单独的字符
  • .join('\s*') - 将拆分与每个拆分之间的 \s* 连接起来,这样如果 searchquery 个字符之间有任何空格,它们也可以被匹配。