2016-10-14 9 views
1

htmlの配列値をサーバー側のmongodbに格納しようとしています。配列は文字列の形式(例:["home"、 "sports"])になりますが、スラッシュ配列[/ home /、/ sports /]の形式で格納する必要があります。私はjavascriptの置換関数を使用してみましたが、私はそれをやっていません。ここでmongodbに問い合わせている間に文字列値を配列のスラッシュに置き換えるにはどうすればいいですか?

は、私が試したものを私のコードです:私のサーバー側のコントローラで:

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"] 
       } 
      } 
      } 
     } 

答えて

1

あなたが正規表現の配列に文字列配列を変換したい場合は、あなたがRegEx constructorとアレイmap()を使用することができます。

ES6:

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

 
console.log(regexArray);

ES5コードconverted online

"use strict"; 

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

console.log(regexArray); 
+0

あなたはそれがマップやるwiil何を詳細に私に説明してくださいすることができます(X =>新しい正規表現を(X)) @sabithpocker – Midhunsai

+1

おかげさまで、これもクリアで、結果も得られました。@sabithpocker – Midhunsai

関連する問題