-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Write Ops
-
None
-
Fully Compatible
-
Query 2019-04-08, Query 2019-04-22
Extend the update command to take an object or an array:
{ update: <collection>, updates: [ { q: <query>, u: <update obj OR update pipeline>, upsert: <boolean>, multi: <boolean>, collation: <document>, arrayFilters: <array> }, { q: <query>, u: <update obj OR update pipeline>, upsert: <boolean>, multi: <boolean>, collation: <document>, arrayFilters: <array> }, ... ], ordered: <boolean>, writeConcern: { <write concern> }, bypassDocumentValidation: <boolean> }
For this task, the only supported stages will be $addFields, $project, and $replaceRoot.
For this task, we should ban other options such as 'collation', 'bypassDocumentValidation', 'writeConcern', 'arrayFilters'. All except 'arrayFilters' will eventually be supported, but will be tracked by separate tickets.
- depends on
-
SERVER-85083 POC: Expressions in update via UpdateStage
- Closed
- is depended on by
-
RUBY-1786 Add the ability to specify a pipeline to an update command
- Closed
-
DRIVERS-626 Add the ability to specify a pipeline to an update command
- Closed
-
SERVER-40419 Remove feature flag guard of pipelines as updates
- Closed
-
SERVER-40567 benchRun support for pipeline-style update
- Closed
-
SERVER-40582 Add microbenchmark task for pipeline-style updates
- Closed
-
SERVER-40585 UpdateNode should not derive from UpdateExecutor
- Closed
-
SERVER-85088 POC: Explore ways we can shrink the generated oplog entries from pipeline-style updates
- Closed
-
SERVER-40397 Add the ability to specify a pipeline to the findAndModify command
- Closed
-
SERVER-40398 Test support for 'collation' option in combination with a pipeline-style update
- Closed
-
SERVER-40400 Test support for 'bypassDocumentValidation' option in combination with a pipeline-style update
- Closed
-
SERVER-40402 Test support for 'writeConcern' option in combination with a pipeline-style update
- Closed
-
SERVER-40406 Add support for '$$NOW' and '$$CLUSTER_TIME' within the update command
- Closed
-
SERVER-40408 Add pipeline versions of update helpers in the shell
- Closed
-
SERVER-40409 Add pipeline version of bulk API updateOne helper
- Closed
-
SERVER-40410 Add FSM workload(s) to stress write conflict retrying of pipeline-style updates
- Closed
-
SERVER-40431 Add $merge support for whenMatched: pipeline
- Closed
-
SERVER-40539 Rename DocumentSourceMock to DocumentSourceQueue
- Closed
- is related to
-
SERVER-458 JavaScript $function in update
- Closed
-
SERVER-40392 [FLE] Handle reconciliation of pipeline output schema with collection schema for pipeline updates
- Closed
-
SERVER-85083 POC: Expressions in update via UpdateStage
- Closed