Publishing only parts of data
To make our front page future-ready, we will need to limit the amount of posts shown on it, as we will probably have a lot of posts added with time.
For this, we will create a new publication called limited-posts
, where we can pass a limit
option to the posts' find()
function and add it to our publications.js
file, as follows:
Meteor.publish('limited-posts', function () { return Posts.find({}, { limit: 2, sort: {timeCreated: -1} }); });
We add a sort
option, with which we sort the posts in descending order on the timeCreated
field. This is necessary to ensure that we get the latest posts and then limit the output. If we only sort the data on the client, it might happen that we leave out newer posts, as the server publication would send only the first two documents it found, regardless of whether they are the latest ones or not.
Now we just have to go to subscriptions.js
and change the subscription to the following line of code:
Meteor.subscribe('limited...