2016-10-26 1 views
0

문자열의 배열을 검색 모르핀 MongoDB를 :내가 좋아하는 뭔가를 Morphis을 사용하여 쿼리 기준을 작성하려고했다

db.Response.find({ $and: [ { fields: [ "NAME","EMAIL"]},{intent:"CHECKUSR" }] }) 

당신이 날이 도와 드릴을? 여기서 문제는 필자는 fields라는 배열과 MongoDB에서 위의 쿼리를 확인해야하지만이 경우 morphia에 적합한 옵션을 찾을 수 없습니다. 도움이 될 것입니다.

+0

문서를 나타내는 클래스입니다. –

+0

전체 콘텐츠를 여기 게시 할 수 없으므로; 나는 주요 주제에 대한 답변으로 게시했습니다. 아래로 스크롤하십시오 –

답변

0
Datastore ds = ... 
Query<Record> q = ds.createQuery(Record.class); 
q.and(
    q.criteria("Intent").equal(CHECKUSR), 
    q.criteria("fields.email").equal(EMAIL) 
); 

//list 
List<Record> entities = q.asList(); 

또 다른 방법은

Query q = ds.createQuery(Record.class).field("fields").hasThisElement(email); 

이 기본적으로 당신이 당신의 기준을 쓸 수있는 방법에 대한 예입니다 될 것입니다. 당신의 목적에 맞게 조정할 수 있습니다. 위의 샘플

이 기록은 나에게 문서의 실제 구조를 줄 수 있다면 내가 당신을 도울 수

+0

감사합니다 Satish,하지만 한 가지 문제는 여기에 그것입니까? 나를 위해, "필드"는 문서의 필드이고 [ "name", "email"]은 두 개의 문자열 배열 요소입니다. 그래서 당신의 제안은 비교하려고하지 않을 것입니다. –

+0

그래서 문서 {_id : someid, x : xvalue, y : yvalue, fields : [ "someonename", "someoneemailid"]}가 맞습니까? 이름과 전자 메일 값을 기반으로 필드를 쿼리해야합니까? –

+0

아래의 전체 시나리오를 추가했습니다. 제발 좀 봐. 덕분에 많이 –

관련 문제