Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The
delete
operator is used to remove properties from objects and items from arrays. Whendelete
is used on an array, the item is removed, but the array is not re-indexed;If deleteByDot is used on an array that subsequently stored through a feathers service, the resulting array in the database (using the mongoose driver, at least) results in the "deleted" item being replaced with
null
rather than being completely removed.Proposed Solution
The pull request tests to see if the item to delete is an array. If it is,
splice
is to remove the array item. Otherwise,delete
is used.Potential Problems
Because this results in different output, it could potentially break code that relies on the current behavior.