Book Image

Meteor Design Patterns

By : Marcelo Reyna
Book Image

Meteor Design Patterns

By: Marcelo Reyna

Overview of this book

Table of Contents (13 chapters)

Aggregation publishers


Sometimes our database has a considerable amount of information that we want to synthesize. Some developers choose to publish all the information to the client and have the client synthesize it. This, as we have learned so far, can have a negative impact on performance. Other developers might use Meteor.method to return the synthesized data. This is definitely better for the client, but it will take a toll on our server if the computation is large.

The best way to handle a problem like this is to use MongoDB's aggregation framework to take the hard work of the calculation to our database, and then we can pair the results with the Meteor.publish special functions: @added, @changed, and @removed.

The aggregation framework

MongoDB's aggregation framework uses the concept of a pipeline to process data. A pipeline is, basically, a series of steps that Mongo is going to follow to produce the data you need.

We have installed support for the aggregation framework by adding meteorhacks...