【发布时间】:2015-06-13 08:56:04
【问题描述】:
我在流星服务器上有一个出版物,我想知道目前有多少客户订阅了该出版物。这样做的原因是,我想向“出版物所有者”显示订阅计数。
这是我如何尝试实现这一目标的简化代码片段(当然,我不会执行console.log,而是增加/减少共享文档)
Meteor.publish('sessionForId', function (sessionId) {
console.log('increment subscription count for ' + sessionId);
this.onStop(function(){
console.log('decrement subscription count for ' + sessionId);
});
return Sessions.find({_id: sessionId});
});
一般来说这是可行的,但也有一些问题:
- 如果我重新启动服务器,则订阅计数不同步(停止/终止/重新启动服务器时不会触发 onStop-Events)
- 可能还有其他一些边缘情况会导致订阅计数不同步
我可能可以通过在启动时将计数设置为 0 来解决其中的一些问题,但也许有更好的方法来查询服务器以获取当前对出版物的订阅量?
【问题讨论】:
标签: meteor