fix(NODE-5790): type error with $addToSet in bulkWrite #3956
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.
Description
Backporting #3953 to 5x.
What is changing?
We update types to fix the error with $addToSet in bulkWrite.
Is there new documentation needed for these changes?
None
What is the motivation for this change?
NODE-5647
NODE-4664
Release Highlight
The type error with
$addToSetinbulkWritewas fixedPreviously the following code sample would show a type error:
It happened because the driver's
Documenttype falls back toany, and internally we could not distinguish whether or not this assignment was intentional and should be allowed.After this change, users can extend their types from
Document/any, or use properties ofanytype and we skip the$addToSetvalidation in those cases.Double check the following
npm run check:lintscripttype(NODE-xxxx)[!]: descriptionfeat(NODE-1234)!: rewriting everything in coffeescript