[SERVER-28770] Create PullNode Created: 12/Apr/17 Updated: 12/Oct/17 Resolved: 30/Aug/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.5.11 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Tess Avitabile (Inactive) | Assignee: | Justin Seyster |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Sprint: | Query 2017-07-10, Query 2017-07-31 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Create PullNode implementing UpdateLeafNode. Ensure we can parse $pull to a PullNode. |
| Comments |
| Comment by Tess Avitabile (Inactive) [ 18/Jul/17 ] |
|
Sounds good. I think this could also be done as part of |
| Comment by David Storch [ 18/Jul/17 ] |
|
tess.avitabile, as discussed, we are planning to defer this at least until after the work to support all update modifiers is complete. I guess we should file a placeholder ticket for cleaning up apply() in the epic. When the project is wrapping up we can decide to wither schedule this work or close as Won't Fix. |
| Comment by Tess Avitabile (Inactive) [ 18/Jul/17 ] |
|
PullNode::apply needs to ensure that no immutable paths are modified. justin.seyster, charlie.swanson, david.storch, we should discuss whether to keep the current implementation, where apply is responsible for validating the document for storage, or work on a solution that will make the apply interface less complex. (This is not the end of the world, since we should never expect a $pull to succeed on an immutable path, since immutable paths cannot go through arrays.) |
| Comment by Githook User [ 17/Jul/17 ] |
|
Author: {u'username': u'jseyster', u'name': u'Justin Seyster', u'email': u'justin.seyster@mongodb.com'}Message: To support PullNode, this patch adds a CopyableMatchExpression class, This patch also factors out the viability check in PopNode so that |