2017-01-03 4 views
1

내 상황은 다음과 같습니다. 로그 항목과 같이 몇 밀리 초마다 새 항목으로 업데이트되는 Mongo의 모음이 있습니다. 프론트 엔드에서 템플릿의 게시/구독을 통해 이러한 항목을 표시하고 있지만 볼륨이 높기 때문에 목록이 너무 자주 업데이트되어 읽을 수 없습니다. 내가 원하는 것은 목록을 매 초 (몇 초) 만 업데이트하도록하는 것입니다. 예를 들어, here으로 표시된 것처럼 클라이언트와 서버 측 모두에서 sleep/timeouts를 사용하려고 시도했지만 지금까지는 성공하지 못했습니다.Meteor에서 시간 간격으로 게시/구독하기

  • 게시/구독을 계속 사용할 수 있습니까? 아니면 Meteor.setInterval을 사용하여 폴링 메커니즘을 전환해야합니까?
  • 시간 간격 부분이 게시 또는 구독 측에 있어야합니까?
  • 내 시나리오에 게시/구독이 올바른 경우 몇 초마다 업데이트 된 데이터 만 표시합니까?
+0

컬렉션 옵저버와 함께 사용해 보았습니까? 문서가 컬렉션에 추가 될 때 목록을 추가 하시겠습니까? 전체 목록을 다시 업데이트하지 않아야합니다. –

답변

-1

당신은이 작업을 수행하기 위해 Template.name.onCreated에 반응 변수와 자동 실행을 사용할 수 있어야합니다 :

Template.name.onCreated(function(){ 
var instance = this; 
instance.now = new ReactiveVar(new Date()); 
instance.autorun(function(){ 
    var test = now.get(); 
    instance.subscribe('yourSubNameHere'); 
    setTimeout(function(){ //will update now and fire the autorun again 
     instance.now.set(new Date()); 
    },timeoutHere) 
}); 
)}; 

컬렉션 큰되면 어떻게 함께이 일을 좋을 걸 있지만 너의 간행물의 한도가 어쩌면?

+0

나는 이것이 어떻게 작동하는지 이해하지 못한다. 이 방금 다시 구독하지 않습니까? – zim

+0

예. 네가하려는 일이 아닌가? –

+0

은 클라이언트 또는 서버 쪽에서 추가되는 문서입니까? –