2014-02-19 6 views
1

(시작 문자 나 단어 찾기 쿼리) :MongoDB를 같이 쿼리 아래에 언급 한 바와 같이 나는 <strong>MongoDB를</strong> 쿼리를

Mailbox.find({ subject: new RegExp(query , 'i') }); 

이 쿼리 나에게 query.For 예제에 포함 된 모든 결과를 제공 내 쿼리 테스트입니다 결과는 'test'가 포함 된 모든 결과를 표시합니다.

시작 문자 't'또는 'test'만있는 결과를 원하면 어떻게 할 수 있습니까?

+2

뭔가. * /' – Sammaye

+0

당신이 "T"로 시작하는 결과를 원하는 뜻, 또는 어디에서 단어 "테스트", 또는 "T"모두를 원하는 " 테스트 "시작 부분에만? – yaoxing

+0

하지만 "test"라는 단어는 "t"로 시작하는 단어의 하위 집합입니다. "t"로 시작하는 모든 단어를 가져 오려면 자동으로 "test"단어를 얻을 것입니다. – nikis

답변

5

이것은 일반적인 정규식 질문과

/^test/ 

^를 캐럿 검색 할 수 있어야 라인의 시작을 의미한다.

시작에서 검색하는 것은 효율을 위해 mongo에서 권장됩니다. 즉 수집 스캔을 피하는 것을 의미합니다. 자세한 내용은 $regex 문서를 참조하십시오.

책갈피로 유지하고 필요한 다른 변경 사항에 대한 참조로 보관하십시오. `/^테스트와 같은

http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

관련 문제