我有一个像这样的集合:
//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]
}
]
}
和另一个像这样的集合:
//Users Collection
{
_id: 'A1B2',
name: 'Newton'
},
{
_id: 'C10B',
name: 'Gauss'
},
{
_id: 'F804',
name: 'Leibniz'
}
我需要一个包含_Id = 1的Groups数组中所有用户ID的出版物。我试过:
Meteor.publish('themembers',idGroup,function() {
return Users.find({_id:{$in:Groups.findOne(idGroup).members.map(function(e) {return e.memberId})}});
});
然后我订阅了:
Template.problem.onCreated(function() {
Meteor.subscribe('themembers',1);
});
现在我可以访问帮助程序中的成员了:
Template.problem.helpers({
members: function() {
return Users.find();
}
});
并且助手也正常工作。
但是现在,如果我向该组添加一个新成员,它不会出现在列表中,...我的订阅似乎没有被动反应。
我做错了什么?
答案 0 :(得分:0)
Meteor的典型问题:
您应该查看peerlibrary:reactive-publish