我有一些订阅我需要在用户更改角色时刷新。由于用户现在有了新角色,因此我需要重新发布订阅,因为他们会考虑角色。以下是我试图做的事情:
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"的用户角色时。我究竟做错了什么?有更好的方法吗?
答案 0 :(得分:0)
您需要在subscribe()
内进行更改。见docs:
但是,如果您的run函数的下一次迭代订阅了相同的记录集(相同的名称和参数),Meteor足够聪明,可以跳过浪费的取消订阅/重新订阅。