每次用户更改角色时运行订阅

时间:2015-05-17 07:11:34

标签: meteor

我有一些订阅我需要在用户更改角色时刷新。由于用户现在有了新角色,因此我需要重新发布订阅,因为他们会考虑角色。以下是我试图做的事情:

Tracker.autorun(function(){
    Meteor.users.find({_id: Meteor.userId()}, {fields: {"roles": 1}});
    console.log("You changed roles, republishing data");
    Meteor.subscribe('pendingUsers');
});

我正在使用alanning:角色。它似乎在某些情况下有效但在其他情况下无效。一种不会触发此操作的情况是当我改变来自" meteor shell"的用户角色时。我究竟做错了什么?有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您需要在subscribe()内进行更改。见docs

  

但是,如果您的run函数的下一次迭代订阅了相同的记录集(相同的名称和参数),Meteor足够聪明,可以跳过浪费的取消订阅/重新订阅。