0

I have a collection like this one:

//Groups Collection
{
  _id:1,
  members: [
    {
      memberId: 'A1B2',
      content: [1,2,3]
    },
    {
      memberId: 'C10B',
      content: [4,5,6]
    }
  ]
},
{
  _id:2,
  members: [
    {
      memberId: 'A1B2',
      content: [7,8,9]
    },
    {
      memberId: 'F804',
      content: [10,11,12]
    }
  ]
}

and another Collection like this one:

//Users Collection
{
    _id: 'A1B2',
    name: 'Newton'
},
{
    _id: 'C10B',
    name: 'Gauss'
},
{
    _id: 'F804',
    name: 'Leibniz'
}

And I need a publication with all ids of users in Groups array with _Id = 1. I tryed:

Meteor.publish('themembers',idGroup,function() {
    return Users.find({_id:{$in:Groups.findOne(idGroup).members.map(function(e) {return e.memberId})}});
});

then I subscribe:

Template.problem.onCreated(function() {
    Meteor.subscribe('themembers',1);
});

Now I can access the members in the helper:

Template.problem.helpers({
    members: function() {
        return Users.find();
    }
});

and the helpers works right too.

But now, If I add a new member to the group, it not appears in the list, ... my subscriptions seems not to be reactive.

What I doing Wrong?

Phraellyn
  • 61
  • 5
  • Possible duplicate of [Meteor.publish: publish collection which depends on other collection](http://stackoverflow.com/questions/26398952/meteor-publish-publish-collection-which-depends-on-other-collection) – MasterAM Jul 14 '16 at 13:06

1 Answers1

0

Typical issue with Meteor:

You should look at peerlibrary:reactive-publish

https://github.com/peerlibrary/meteor-reactive-publish

MrE
  • 19,584
  • 12
  • 87
  • 105