如何在查询mongodb时将字符串值替换为斜杠

How to replace the string value with slashes in an array while querying into mongodb?

本文关键字:替换 字符串 查询 mongodb      更新时间:2023-09-26

我试图在服务器端mongodb中存储来自html的数组值。数组以字符串的形式出现,例如["home","sports"],但我需要以斜杠数组的形式存储,例如[/home/,/sports/]。我尝试在javascript中使用替换函数,但我失败了。

这是我的代码,我尝试:在我的服务器端控制器:

 var sample = [];
    sampleArray = ["home","sports"]; //coming from html search query.
    if(sampleArray != 0){
    for (var i = 0; i < sampleArray .length; i++) {
          var eg3 = sampleArray [i];
          console.log('value form an array' + eg3);
          sample.push(eg3);
        }
      var test = sample.replace(/"/g, "/");
    }
    // querying my DB
    mongoQuery = {
          ProCat: {
            $elemMatch: {
              "title": {
                $in: test //expected output [/home/,/sports/] but i am getting ["home","sports"]
              }
            }
          }
        }

如果要将String Array转换为RegEx数组,可以使用RegEx构造函数和Array map()。

es6:

const regexArray = ["home","sports"].map(x=>new RegExp(x));
console.log(regexArray);

es5代码在线转换

"use strict";
var regexArray = ["home", "sports"].map(function (x) {
  return new RegExp(x);
});
console.log(regexArray);