Mongo模板:动态修改匹配操作

时间:2017-09-27 09:47:34

标签: mongotemplate

我在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目前不支持任何提供此功能的方法。在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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);