We now compare the other object whether it equals the delegate in case UnwrappedMongoPersistentProperty.equals is being called with the MongoPersistentProperty retrieved from a MappingContext.
This ensures that unwrapped properties can be compared to vanilla MongoPersistentProperty instances when checking constructor/creator method correlation of parameters.
Closes#4732
Introduce FieldLookupPolicy and methods to create field-exposing/inheriting AggregationOperationContexts.
Move off RelaxedTypeBasedAggregationOperationContext.
See #4714
Original pull request: #4720
Avoid duplicate query mapping for document replacement operations when the filter query can be determined from the already mapped _id field.
See #4707
Original pull request: #4719
This commit fixes an issue where the property type for nested fields of an complex id is not handed over correctly leading to wrong conversion results eg. for Instant types that got then turned into ObjectIds.
Closes#4707
Original pull request: #4719
Parsing of string based aggregations lead to multiple invocations of potential converters due to missing reuse of bound parameter value as well as attempts to verify out/merge stages within the pipeline that triggered the stage to be converted into the target document.
The changes in this commit, reduce the number down to 2. One for examining potential expression dependencies and one for the actual conversion and parameter binding.
See #4712
Original pull request: #4717
This commit fixes an issue where patterns targeting id properties might have been falsely converted into the properties type, turning a Pattern into it's string representation.
Closes#4674
Original pull request: #4718
Wrap no results predicate in dedicated lookup filter and make sure to omit loading attempt also for map properties.
See #4612
Original pull request: #4613
With MongoDB changing its default, we now no longer set allowDiskUse to false if the value is not configured.
Closes: #4664
Original Pull Request: #4666