My Reactive aggregation method is not reactive


I need some help to resolve this issue.

Basically I want to show in the UI a list of items coming from a MongoDb collection.

As the collection has multiples items for the same “ID”, I need to do an aggregation to select the higher one.

My problem is the view doesn’t update if I change any parameter of this collection.

The implementation is:

  • View:
{{#each getList}} {{ID}} {{version}} {{dataexample}} {{/each}}
  • Client side

‘getList’: function() {

  • Server side

‘listItems’: function(){
var final = [];
var pipeline = [{
$group: {
"_id": “$ID”,
version: {$max: “$version”}

var result = CollectionItems.aggregate(pipeline);
result.forEach(function(entry) {
      ID: entry._id,
      version: entry.version
return final;


So if something change of this collection, it doesn’t update the view.

I was thinking to force reload every 5 seconds but I was expecting to find a way to keep the reactivity/multicollaboration in realtime.

Many thanks

Aggregation is not reactive by default in Meteor. However, there is a reactive-aggregate package which you could consider using to provide this.


Okey, I am going to try.

Many thanks

1 Like