InsertMany behaves as expected for validation errors while ordered op… #5072
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.
Summary
The native mongodb driver documents functionality for an option called: 'ordered'. It's documentation is as follows: If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails. I expected this to work with mongoose as well, as it is documented. However this is only true for failing unique constraint errors. I've made little modifications to make it work for all validation errors.
Test plan
Added an extra unit test for making sure the behavior of validation errors is identical to the one of constraint errors
Notice
This is one of my very first pull-requests, if I went too far without discussion or if there are other concerns that need taken care of please let me know.