Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support new aggregation pipeline stages in builder (#2513)
* Add $densify stage to aggregation pipeline builder * Add $fill stage to aggregation pipeline builder * Add $merge stage to aggregation pipeline builder * Add $replaceWith stage to aggregation pipeline builder * Add $set stage to aggregation pipeline builder * Add $unset stage to aggregation pipeline builder * Add $unionWith stage to aggregation pipeline builder * Use templates for Builder::addStage * Add template covariance error to psalm baseline * Remove unnecessary abstraction for $addFields and $set * Use array_fields for lists in variadic arguments * Improve wording when field name is required in Expr classes * Add missing type to whenMatched option * Update type for let option * Use ? syntax for nullable type * Rename test methods to hide copy/paste * Test all range options for $densify * Test complex values and sort for $fill * Test reusing same builder for $merge * Simplify creation of UTCDateTime instances in tests * Allow expressions as partition in $fill stage * Define psalm types for most pipeline stages * Improve handling of required options as typed arguments
- Loading branch information