2016-10-06 5 views
1

몽고 검색에서 정규 표현식을 무시하여 하나의 정규식을 만들 수 있습니까? 좀 123456에 대한 보면 내가 그래서몽고 검색 정규 표현식을 무시합니다

123.456.789-01 

or 

33.018.843/09881-20 

같은 내 컬렉션 무언가가

이 을 (내가 처음 이상의 찾으려) 나는 8430 찾을 경우 (내가 두 번째를 찾을 필요하거나 more)

나는 똥줄을 무시하고 그 끈이 언제인지 알고 싶습니다.

tks

답변

1

예, 가능합니다. $regex과 연결된 $options 연산자에 대해 알고 있습니까?

$options: "x"이 문제를 극복하는 데 도움이됩니다.

+0

하지만 "x"는 공백 문자 만 무시합니다. https://docs.mongodb.com/manual/reference/operator/query/regex/ –

1

음, 정규식을 통해 가능하지는 않습니다. 그러나, 해결 방법은있다,이 모양 : 그래서

> db.teste.find() 
{ 
    "_id": ObjectId("57f65bc8b9b3f8a0acacc0c1"), 
    "num": "33.018.843/09]881-20" 
} 
{ 
    "_id": ObjectId("57f65bcbb9b3f8a0acacc0c2"), 
    "num": "123.456.789-01" 
} 

:

db.teste.find().map(function(doc) { 
    var str = doc.num.replace(/[./\-]/g, ""); 
    if (str.indexOf("8430") > -1) return (doc); 
}).filter(function(e, i) { 
    if (e) return e; 
}); 

난 당신이 무엇을하고 있는지 몰라 둘 다 요구 사항이 무엇입니까하지만 다음 colletion 주어진

을 도움이되기를 바랍니다.

관련 문제