[DOCS-13822] Investigate changes in SERVER-38909: Permit empty update modifiers, treating as a no-op rather than an error Created: 11/Aug/20  Updated: 13/Nov/23  Resolved: 05/Mar/21

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 4.7.0, 4.0.25, 4.2.15, 4.4.7, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Naomi Pentrel (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
backported by DOCS-14504 [BACKPORT] [v4.4] Permit empty update... Closed
backported by DOCS-14507 [BACKPORT] [v4.2] Permit empty update... Closed
backported by DOCS-14508 [BACKPORT] [v4.0] Permit empty update... Closed
Documented
documents SERVER-38909 Permit empty update modifiers, treati... Closed
Participants:
Days since reply: 2 years, 48 weeks, 5 days ago
Epic Link: DOCSP-9747
Story Points: 3

 Description   

Description

Downstream Change Summary

Changed the behavior of "update" and "findAndModify" commands. All update modifiers allow an empty spec (i.e. {$pop: {}}, {$min: {}}, {$set: {}}, {$unset: {}}) now. Flagging for review.

Description of Linked Ticket

As a few people have mentioned onĀ SERVER-12266, the change to throw errors on empty updates is highly disruptive and has kept me from updating for a long time. I'm finally in a position in which I need to move to a more recent version of MongoDB and have followed the lead of others in writing an application layer that detects empty patches and aborts the call to MongoDB in those cases. But, in doing so, I'm struck by the absurdity of the application needing to include code for that. Surely it would be much more efficient to implement such functionality within MongoDB, perhaps enabled by a run-time flag? Or perhaps a default, and disabled only via a run-time flag, since I'm sure that the people who want empty patches to work vastly outnumber those who want them to fail. I guess that this could also be a client option.

An action triggered via an option on a patch request to a database-driven service is a very common thing. The success of the operation is seldom desired to be contingent on the presence of patch data, and there are probably millions of lines of code in the world that work around Mongo's inconsistent treatment of empty and non-empty patches. It would be great to be able to remove them.

Scope of changes

Impact to Other Docs

MVP (Work and Date)

Resources (Scope or Design Docs, Invision, etc.)



 Comments   
Comment by Githook User [ 05/Mar/21 ]

Author:

{'name': 'Naomi Pentrel', 'email': '5212232+npentrel@users.noreply.github.com', 'username': 'npentrel'}

Message: DOCS-13822 permit empty update modifiers
Branch: v5.0
https://github.com/mongodb/docs/commit/29e33d339515e7d542751ff0c5b280cd99eb58a1

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