-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Write Ops
-
Fully Compatible
-
Query 2020-05-04
Replace the 'runtimeConstants' support with the new 'let' syntax from the aggregate command in the update command. Similar to how that works, we should support both a top-level 'let' parameter to the update request and also a parameter for each update in the batch request. For now, let's stick with the name 'c' for the constants for each update in the batch, though we may revisit this name later.
Note that we will have to preserve support for 'runtimeConstants' for compatibility during upgrade. There will be a problem where an internal update request built on behalf of $merge will need to specify variables. This is done here. It's important for those variables/constants to be serialized as runtimeConstants, again for compatibility during upgrade. I would recommend making this work as part of this ticket, but if it becomes obvious how to split it into follow-up work we should do that.
For this work, focus only on unsharded deployments.
- depends on
-
SERVER-46115 Implement 'let' parameters to aggregate commands
- Closed
-
SERVER-46737 Support 'let' variables for the find command
- Closed
-
SERVER-46772 Use IDL to represent UpdateRequest
- Closed
- is depended on by
-
SERVER-46715 Support 'let' parameter in findAndModify command
- Closed
-
SERVER-46716 Support 'let' parameters for updates in sharded environments.
- Closed
-
SERVER-46998 Support 'let' variables used within $merge custom pipeline update
- Closed
- is related to
-
SERVER-73231 Support top-level 'let' variable in bulkWrite
- Closed