From f64d2055226b9dcfbc16c238cd161dc81125c083 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Fri, 18 Nov 2016 15:23:32 +0100 Subject: [PATCH] DATAMONGO-1520 - Add overload for aggregation $match accepting CriteriaDefinition. We now also accept CriteriaDefinition next to Criteria for Aggregation.match. The existing match(Criteria) method remains to preserve binary compatibility. --- .../data/mongodb/core/aggregation/Aggregation.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java index 63530a1ea..edd51d08b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java @@ -30,6 +30,7 @@ import org.springframework.data.mongodb.core.aggregation.ExposedFields.DirectFie import org.springframework.data.mongodb.core.aggregation.Fields.AggregationField; import org.springframework.data.mongodb.core.aggregation.FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation; import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.CriteriaDefinition; import org.springframework.data.mongodb.core.query.NearQuery; import org.springframework.data.mongodb.core.query.SerializationUtils; import org.springframework.util.Assert; @@ -340,6 +341,17 @@ public class Aggregation { return new MatchOperation(criteria); } + /** + * Creates a new {@link MatchOperation} using the given {@link CriteriaDefinition}. + * + * @param criteria must not be {@literal null}. + * @return + * @since 1.10 + */ + public static MatchOperation match(CriteriaDefinition criteria) { + return new MatchOperation(criteria); + } + /** * Creates a new {@link OutOperation} using the given collection name. This operation must be the last operation in * the pipeline.