2017-09-27 7 views
0

다음과 같이 mongo 템플릿에서 내 일치 작업을 정의했습니다.Mongo 템플릿 : 동적으로 일치 작업 수정

MatchOperation match = Aggregation.match(new Criteria("workflow_stage_current_assignee").ne(null) 
      .andOperator(new Criteria("CreatedDate").gte(new Date(fromDate.getTimeInMillis())) 
      .andOperator(new Criteria("CreatedDate").lte(new Date(toDate.getTimeInMillis()))))); 

이 때까지는 문제가 없습니다. 그러나 나는이 일치 작업을 참조 match을 사용하여 수정할 수 없습니다. 내가 여러 종류의 절을 추가 할 수있는 List 종류의 기능을 찾고 있었는데, 이미 만들어진 참조에 필요할 때. 줄에 무엇입니까 match.add(new Criteria)

그러나 MatchOperation 현재이 기능을 제공 할 방법을 지원하지 않습니다. 이 점과 관련하여 도움이 될 것입니다.

답변

0

Criteria은 목록에 의해 뒷받침되는 새로운 기준을 추가하는 곳입니다.

static Criteria where(String key) 메서드를 사용하여 초기화 조건 개체를 만듭니다.

Criteria criteria = where("key1").is("value1"); 

같은

뭔가 이상의 기준의

criteria.and("key2").is("value2"); 

기존 기준 체인 암시 $and 기준과 체인을 만들 추가합니다.

criteria.and(where("key3).gt(value3).lte(value4)) 

완료되면 작업과 일치하도록 전달하십시오.

MatchOperation match = Aggregation.match(criteria); 
+0

답변이 도움이되었습니다. 다음과 같이 코드가 약간 변경되었습니다. 'Criteria criteria = Criteria.where ("key1"). is ("value1")' –