[SERVER-11726] Update framework should cache navigated paths to avoid re-traversing from the root when possible Created: 15/Nov/13 Updated: 06/Dec/22 Resolved: 10/Aug/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Write Ops |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | Backlog - Query Team (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
Right now, applying {{ { $set : { 'x.y.a' : 1, 'x.y.b' : 1 }}} requires re-traversing the target document twice. However, it should be possible to cache the initial traversal, and re-use that state to improve the second traversal. |
| Comments |
| Comment by Andrew Morrow (Inactive) [ 10/Aug/17 ] |
|
Changes to the update system in 3.5 development have rendered this unnecessary, since paths are never re-traversed. I'm closing this as "Wont Fix". If we ever find that we do need to re-traverse paths in the future, the linked code review has a working implementation that could be picked up. |