I know this is an older topic, but damn is this a nightmare what you describe!
Try working with this when dealing with ionic 2.
The problem is you want to try to keep your network resources down. So you’ll do a sub on a collection and just pull certain fields. Depending on where your user navigates to, you may not need anymore data out of the collection. On that first page, you still need it to be reactive for changes later that will effect that earlier page. So, you try and do a sub again with new criteria; again to keep the network resources down. Then you go within another page that the previous page depended on reactive content. Try to do an update and go back to previous page with that subscription and everything will go to hell on you.
I had run into this problem earlier in my testing, but honestly I didn’t really know what was going on. That’s when I figured out I didn’t need to re-subscribe, but I was pulling a fairly small collection. I would just load the whole thing. The debug info is not very good of what is happening. So you don’t realize there is basically a collision or somehow your data is getting nuked.
When I initially started using Meteor, my impression was that it would pull data as needed and merge with your current minimongo on the client side. This assumption was VERY wrong.
I had already started using methods to run certain queries, that didn’t need to be reactive. So I’m very familiar with that. The deal is, if you start doing stuff like that it is almost best just to roll your own. It would cut down on a lot of the bloat from Meteor.
Don’t get me wrong, Meteor is awesome in a lot of ways. But it has some harsh shortcomings. I am going to check out the package you suggested and see if I can work around the issues I’m running into.
Thanks for the suggestion!