Favor relaxed type mapping over strict one for aggregateStream.

Align aggregation context usage of aggregate and aggregate stream methods.

Closes #4132
Original pull request: #4147.
This commit is contained in:
Christoph Strobl
2022-08-23 10:39:53 +02:00
committed by Mark Paluch
parent 0d752fd6e6
commit 655dbc9783

View File

@@ -68,7 +68,6 @@ import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationOperationContext;
import org.springframework.data.mongodb.core.aggregation.AggregationOptions;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.aggregation.TypeBasedAggregationOperationContext;
import org.springframework.data.mongodb.core.aggregation.TypedAggregation;
import org.springframework.data.mongodb.core.convert.DbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
@@ -1900,10 +1899,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
AggregationOperationContext context = new TypeBasedAggregationOperationContext(aggregation.getInputType(),
mappingContext, queryMapper);
return aggregateStream(aggregation, inputCollectionName, outputType, context);
return aggregateStream(aggregation, inputCollectionName, outputType, null);
}
@Override
@@ -1915,7 +1911,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
public <O> Stream<O> aggregateStream(Aggregation aggregation, Class<?> inputType, Class<O> outputType) {
return aggregateStream(aggregation, getCollectionName(inputType), outputType,
new TypeBasedAggregationOperationContext(inputType, mappingContext, queryMapper));
queryOperations.createAggregation(aggregation, inputType).getAggregationOperationContext());
}
@Override