2016-10-14 2 views
1

html의 배열 값을 서버 측 mongodb에 저장하려고합니다. 배열은 예를 들어 [ "home", "sports"]와 같이 문자열 형태로 들어옵니다. 그러나 나는 슬래시 배열 즉,/home /,/sports /의 형태로 저장해야합니다. 나는 javascript에서 replace 함수를 사용하여 시도했지만 그렇게하지 못했습니다. 여기 mongodb에 쿼리하는 동안 문자열 값을 배열의 슬래시로 바꾸는 방법은 무엇입니까?

내가 뭘하려 내 코드입니다 : 내 서버 측 컨트롤러 : 당신이 정규식 배열에 문자열 배열을 변환 할 경우 RegEx constructor 및 배열 map()을 사용할 수 있습니다

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

.

ES6 : converted online

"use strict"; 

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

console.log(regexArray); 
+0

당신이 그것을지도 할 wiil 무엇인지 자세히 설명해 주 시겠어요

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

ES5 코드 (X => 새로운 정규식 (X)) @sabithpocker – Midhunsai

+1

덕분에 이제는 분명하고 또한 결과도 얻었습니다 @sabithpocker – Midhunsai

관련 문제