2017-09-27 67 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是您添加新標準的地方,它由列表支持。

使用靜態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」)。(「value1」)' –