Data doesn't need to be pushed

New to Meteor. Great system for real-time push and sync. But that only fits about 10% of the application I’m building. (the 10% is messaging and status features). The rest is split between…

  1. Traditional submit data - added by the client and sent to the server. Push from the server doesn’t hurt, but I worry about the load on the server for monitoring these collections. Particularly because they are larger in volume, like sales transactions for a client.
  2. Nearly static common data - our app has a thousand business rules (stored in data) that are common to all clients. They aren’t updated more than once a year. Would be good to have them persisted on the client (even through browser refresh), for speed and potential disconnected mode. Minimongo seems to accomplish just that, but requires the rest of the meteor story of publication and monitoring on the server, which isn’t needed.

For these two cases, I would like to still use Meteor’s web socket infrastructure and isomorphic properties (and Mongo for that matter), rather than rolling a traditional REST interface and routes that is separate from the 10% case.

Is there a way to turn off the monitor and push features of the server and still use a Mongo.Collection which when inserted into sends the message down to the server for writing (and maybe still writes to minimongo)? Is there a need for turning this off, given my scenarios?

Instead of using Meteor’s normal pub/sub approach, you could instead use a mixture of a local collection and a Meteor method. On your client side you would have a function that stores values in your local collection, while at the same time firing those values over to the server for writing via a Method. Check the Loading data with Methods section of the Guide for something similar (you could leverage something like this for writing instead).

2 Likes