ServiceConfiguration
컬렉션을 일련의 설정과 동기화하고 싶습니다. 나는 (거의)과 같이 사용하여이 observeChanges
을 달성했습니다두 개의 Meteor 컬렉션 동기화하기
var handle = Settings.find().observeChanges({
changed: function (id, post) {
var insert = {};
post.hostName && (insert.host = post.hostName);
post.domainName && (insert.domain = post.domainName);
ServiceConfiguration.configurations.update({service: "xmpp"}, insert);
}
});
Meteor.publish("Settings", function() {
this.onStop = function() {
handle.stop();
};
return Settings.find();
});
이 코드의 문제는 그러나 출판의 onStop
방법이없는 경우 클라이언트 연결을 끊습니다, 바로라는 점이다. 그 콜백을 사용하는 이유는 Meteor 문서가 수동으로 observeChanges
핸들을 취소하는 중요성을 강조하고 있기 때문입니다. 그러나이 방법을 취소하면 실제로 콜렉션의 변경 사항을 관찰 할 수 없습니다. 그러나 코드가 작동하지 않으면 잘 동작합니다. stop()
핸들.
그래서 핸들을 멈출 수 없습니까, 아니면 메모리 누수가 생길 수 있습니까? 또는 두 개의 Meteor 컬렉션을 동기화 상태로 유지하려면 어떻게해야합니까?