2016-08-15 6 views
1

JSON 인덱스를 사용하여 부분 문자열을 일치시킬 수 있기를 원하지만이를 수행하는 방법을 찾지 못했습니다.json 인덱스의 필드에서 부분 문자열 일치

data.name 속성이 A SIGN DESIGN PTY. LTD. 인 데이터 레코드가 있습니다. 다음과 같이 내 인덱스 정의 :

db.index({ 
    name: 'subbies_text', 
    type: 'json', 
    index: { 
    fields: ['data.name'] 
    }, 
}) 

내가 "기호"또는 "기호 디자인"에 대한 검색 할 수 있도록 내가 문자열 일치를 수행 할 것을 사용할 수있는 선택은 "A SIGN 디자인 PTY가있다입니다. LTD. " 검색 결과에 포함되어 있습니까?

답변

1

"$ regex"로 달성 할 수 있습니다. "subbies_text"라는 json 인덱스를 생성 한 다음 쿼리의 예가 다음과 같습니다.

{"selector": { "_id": { "$gt": 0 }, "subbies_text":{"$regex":"SIGN" } }, "fields": [ "_id", "_rev", "name" ]} 
+0

감사합니다. 이 방법으로 인덱스 된 값을 조작 할 수 있습니까? 대문자 소문자 구분을 위해 값을 어떻게 대문자로 사용할 수 있습니까? 형식이 지정된 숫자의 공백을 제거하여 쿼리 문자열의 형식과 일치하도록하려면 어떻게합니까? 디자인 문서를 직접 쿼리하는 것이 더 나은 솔루션이라고 생각합니다. – simon