[DRIVERS-639] Finer-grained updates from aggregation via $merge Created: 28/Apr/19  Updated: 27/May/22  Resolved: 14/Jun/19

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Ian Whalen (Inactive) Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CSHARP-2637 Finer-grained updates from aggregatio... Closed
depends on GODRIVER-1133 Finer-grained updates from aggregatio... Closed
depends on JAVA-3321 Finer-grained updates from aggregatio... Closed
depends on MOTOR-351 Finer-grained updates from aggregatio... Closed
depends on NODE-2005 Finer-grained updates from aggregatio... Closed
depends on PYTHON-1868 Finer-grained updates from aggregatio... Closed
depends on RUBY-1839 Finer-grained updates from aggregatio... Closed
Duplicate
duplicates DRIVERS-671 Finer-grained updates from aggregatio... Closed
is duplicated by DRIVERS-527 Support expressions in the update lan... Closed
Server Compat: 4.2
Driver Compliance:
Key Status/Resolution FixVersion
SCALA-536 Done
JAVA-3321 Duplicate
GODRIVER-1133 Duplicate
MOTOR-351 Duplicate
PYTHON-1868 Duplicate
RUBY-1839 Duplicate
CSHARP-2637 Duplicate
PERL-1106 Duplicate
NODE-2005 Duplicate

 Description   
Epic Summary

Summary

Enable new kinds of updates by exposing aggregation expressions in a command which performs updates.

Motivation

This improvement will be useful to implement custom logic to merge conflicting documents during an aggregation outputting to an existing collection. This was originally part of PM-828, but moved out of scope. For example:

  • Incrementally add counts to a rollup summary table which was previously computed. Imagine a collection 'events.monthly_summaries' which holds one document per month summarizing all events hosted within the month. After each event, you wish to increment the total number of registrations for the current month without changing any of the other statistics for that month.
  • Maintain a single view of a customer after ingesting updates from other collections or systems. Once a week, you wish to scrape all new customer interactions for any updated contact info and save/merge that info into a collection which represents all known contact info for a customer. Specifically, you may want to add any new addresses to a set of known addresses.


 Comments   
Comment by Ian Whalen (Inactive) [ 28/Apr/19 ]

asya please add yourself as a watcher here to follow along with the drivers work.

Generated at Thu Feb 08 08:22:00 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.