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

Change middleware hooks to be wrappers for Mongo driver methods #121

Open
ericyhwang opened this issue Jul 27, 2021 · 0 comments
Open

Change middleware hooks to be wrappers for Mongo driver methods #121

ericyhwang opened this issue Jul 27, 2021 · 0 comments
Labels
breaking-change Breaking change that we may want to pull into a future major version

Comments

@ericyhwang
Copy link
Contributor

ericyhwang commented Jul 27, 2021

We're finding more and more that it can be useful to intercept Mongo driver method calls in a way that also has sharedb / shareedb-mongo context, e.g.:
#120

The current approach is to have middleware hooks based on sharedb-mongo actions, e.g. Actions.beforeSnapshotLookup.

@alecgibson and I are thinking that it could be more flexible to have a generic hook based on the Mongo driver method name, e.g. find, that provides the sharedb-specific actions or contexts behind the call, and allows customizing all arguments passed to the driver.

That would require us to drop support for Mongo driver 2.x, as find only started taking an options object in Mongo driver 3.x.

Mongo driver 2.x is no longer officially supported anyways. Also, the 2.x driver is only officially compatible up through Node 8, which was end-of-life as of 2019-12-31:
https://docs.mongodb.com/drivers/node/compatibility/

@ericyhwang ericyhwang added the breaking-change Breaking change that we may want to pull into a future major version label Jul 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Breaking change that we may want to pull into a future major version
Projects
None yet
Development

No branches or pull requests

1 participant