Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(NODE-4103): respect BSON options when creating change streams #3247

Merged
merged 9 commits into from May 23, 2022

Conversation

kampofo
Copy link
Contributor

@kampofo kampofo commented May 12, 2022

Description

NODE-4103

What is changing?

The use of the filterOptions function was removed from the ChangeStreamCursor constructor.

Is there new documentation needed for these changes?

What is the motivation for this change?

The filterOptions function being used to filter the options passed into into the changeStreamCursor constructor, was filtering out the usage of any of the BSON options being passed in. So the function was removed to allow BSON options to be passed through successfully and any invalid options would be handled by the existing filtering already present.

When calling collection.watch with the BSON option
{ promoteLongs: false } and inserting a document { long: Long.fromNumber(0) } to a collection, the document emitted from the change stream should contain a long with the value 0. However, before the changes made, the filter options were preventing promoteLongs from being passed successfully, so the 0 inserted into the document would be of type number instead of an instance of Long as we specified in our options.

Double check the following

  • Ran npm run check:lint script
  • Self-review completed using the steps outlined here
  • PR title follows the correct format: <type>(NODE-xxxx)<!>: <description>
  • Changes are covered by tests
  • New TODOs have a related JIRA ticket

@kampofo kampofo marked this pull request as draft May 12, 2022 17:12
@kampofo kampofo marked this pull request as ready for review May 16, 2022 20:14
test/integration/change-streams/change_stream.test.ts Outdated Show resolved Hide resolved
test/integration/change-streams/change_stream.test.ts Outdated Show resolved Hide resolved
test/integration/change-streams/change_stream.test.ts Outdated Show resolved Hide resolved
test/integration/change-streams/change_stream.test.ts Outdated Show resolved Hide resolved
test/integration/change-streams/change_stream.test.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@baileympearson baileympearson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't mean to approve, I hit the wrong button

@baileympearson baileympearson changed the title fix(NODE-4103): collection.watch doesn't respect promoteLongs option fix(NODE-4103): respect BSON options when creating change streams May 23, 2022
@baileympearson baileympearson merged commit b2798d9 into main May 23, 2022
@baileympearson baileympearson deleted the NODE-4103 branch May 23, 2022 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants