[SERVER-40381] Add the ability to specify a pipeline to an update command Created: 28/Mar/19  Updated: 29/Oct/23  Resolved: 11/Apr/19

Status: Closed
Project: Core Server
Component/s: Aggregation Framework, Write Ops
Affects Version/s: None
Fix Version/s: 4.1.11

Type: New Feature Priority: Major - P3
Reporter: Charlie Swanson Assignee: James Wahlin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-85083 POC: Expressions in update via Update... Closed
is depended on by RUBY-1786 Add the ability to specify a pipeline... Closed
is depended on by DRIVERS-626 Add the ability to specify a pipeline... Closed
is depended on by SERVER-40419 Remove feature flag guard of pipeline... Closed
is depended on by SERVER-40567 benchRun support for pipeline-style u... Closed
is depended on by SERVER-40582 Add microbenchmark task for pipeline-... Closed
is depended on by SERVER-40585 UpdateNode should not derive from Upd... Closed
is depended on by SERVER-85088 POC: Explore ways we can shrink the g... Closed
is depended on by SERVER-40397 Add the ability to specify a pipeline... Closed
is depended on by SERVER-40398 Test support for 'collation' option i... Closed
is depended on by SERVER-40400 Test support for 'bypassDocumentValid... Closed
is depended on by SERVER-40402 Test support for 'writeConcern' optio... Closed
is depended on by SERVER-40406 Add support for '$$NOW' and '$$CLUSTE... Closed
is depended on by SERVER-40408 Add pipeline versions of update helpe... Closed
is depended on by SERVER-40409 Add pipeline version of bulk API upda... Closed
is depended on by SERVER-40410 Add FSM workload(s) to stress write c... Closed
is depended on by SERVER-40431 Add $merge support for whenMatched: p... Closed
is depended on by SERVER-40539 Rename DocumentSourceMock to Document... Closed
Documented
is documented by DOCS-12627 Docs for SERVER-40381: Add the abilit... Closed
Related
is related to SERVER-458 JavaScript $function in update Closed
is related to SERVER-40392 [FLE] Handle reconciliation of pipeli... Closed
is related to SERVER-85083 POC: Expressions in update via Update... Closed
Backwards Compatibility: Fully Compatible
Sprint: Query 2019-04-08, Query 2019-04-22
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 11/Apr/19 ]

Author:

{'email': 'james@mongodb.com', 'name': 'James Wahlin', 'username': 'jameswahlin'}

Message: SERVER-40381 Add the ability to specify a pipeline to an update command
Branch: master
https://github.com/mongodb/mongo/commit/6b47868e5a82822a21176db3a7d3abd2df429e1f

Comment by Githook User [ 11/Apr/19 ]

Author:

{'email': 'james@mongodb.com', 'name': 'James Wahlin', 'username': 'jameswahlin'}

Message: SERVER-40381 Add the ability to specify a pipeline to an update command
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/392aba119b257008c9786fd4a5091ea4b8131b88

Comment by Charlie Swanson [ 01/Apr/19 ]

This work should be gated behind a feature-flag like we did for wildcard indexes until we're ready to release it. FiledĀ SERVER-40419 to track turning this on by default.

Generated at Thu Feb 08 04:54:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.