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.
Copied from issue description.
Issue
A replicate.from feed with a client side filter from a large/active remote when you just want to keep existing (already fetched) documents up-to-date is extremely inefficient.
Info
When you specify filter:a_function on a replicate, PouchDB forces the changes feed (inside the replication) to specify include_docs:true. This will result in all remote changes coming over the wire. Normally this is what you want, however in the (extremely interesting) case of only wanting to keep documents you have already fetched up-to-date, it is very inefficient -- all you really need is the document _id.
With 2 small changes this can be made much more efficient.
One user visible API change: support a filter_id_only: true option to replicate. If specified this suppresses the additional include_docs:true and sends the change to the filter function as {_id: doc_id}
I will followup with a PR in case you want to include this feature