2016-07-17 2 views
0

나는 그 범주에 속하는 게시물이있는 'categories'라는 객체 세트를 가지고 있습니다. 사용자는 해당 카테고리 오브젝트 내에서 데이터를 취하는 버튼을 클릭하여 카테고리를 '추종 할 수 있습니다. 가장 중요한 것은 포스트가 Meteor.users 내의 필드에 배치한다는 것입니다. 그대로, 사용자가 버튼을 클릭했을 때 사용할 수 있었던 게시물 만 가져옵니다.유성 : 어떻게 Meteor.user 필드를 업데이트 할 수 있습니까?

카테고리를 '팔로우'할 때 클릭 이벤트가 완료된 후에 나중에 올 새 게시물이 자동으로 사용자 데이터로 푸시되도록하려면 어떻게해야합니까? 즉,이 프로세스를 어떻게 대응 시키는가?

클라이언트/categories.js

Template.CategoriesMain.events({ 
    'click .toggle-category': function(e){ 
      var ob = $(e.target).parent().find("div").text(); 
      var id = $.makeArray(ob); 
      console.log(id); 

      e.preventDefault(); 
      Meteor.call('addingCategory', id, function(error, user){ console.log(id)}); 
     } 
}); 

서버/categories.js

Meteor.publish("userData", function() { 
    if (this.userId) { 
    return Meteor.users.find({_id: this.userId}, 
          {fields: {'name': 1}}); 
    } else { 
    this.ready(); 
    } 
}); 

내가 자동 실행으로 뭔가를 할 수 있을까? 이 곡에?

Template.CategoriesMain.events({ 
    'click .toggle-category': function(e){ 
    autorun(function() { 

      var ob = $(e.target).parent().find("div").text(); 
      var id = $.makeArray(ob); 
      console.log(id); 

      e.preventDefault(); 
      Meteor.call('addingCategory', id, function(error, user){ console.log(id)}); 
     } 

    });  
}); 
+0

흠을 시도 할 수 없습니다. 게시물 컬렉션을 게시하고 users.categories로 필터를 설정하면됩니다. 따라서 클라이언트의 게시물을 구독 할 때마다 해당 범주 내의 새 게시물이 추가 될 때마다 자동으로 클라이언트에 게시됩니다. 그게 너에게 의미가 있니? –

+0

안녕하세요 @ TomFreudenberg 응답 해 주셔서 감사합니다. 그러나 나는 당신이 무슨 뜻인지 이해하지 못할 것 같습니다. 그 자체로 게시물과 클라이언트에 대한 업데이트를 게시하는 컬렉션이 있지만 meteor.user가 채워지는 경우에는 작동하지 않습니다. –

답변

0

현재 그것을 얻을 수 있지만 사용자 필드에 의존하지 않는다 ...

 
Meteor.publish("userData", function() { 
    if (this.userId) { 
    return Meteor.users.find({_id: this.userId}, 
          {fields: {'name': 1}}); 
    } else { 
    return null; 
    } 

    this.ready(); 

}); 
관련 문제