如何在发布的游标清空时重定向用户?

How to redirect a user when the published cursor gets emptied?

我正在发布一个仅在其中输出一个文档的游标:

Meteor.publish ( 'test', function () {
  return MyCollection.find ( 'DocumentMongoDBID' );
}

我正在从路由器(使用 Iron 路由器)订阅它:

Router.route ( '/thepage', {
  ...
  subscriptions: function () {
    this.subscribe ( 'test' ).wait ();
  }
}

如果文档被删除,我想将用户重定向到另一个页面,因此如果光标为空。

发生这种情况时如何调用函数以便重定向用户?所有依赖于该订阅的模板助手都会被调用,但我更愿意在它们之前调用另一个函数,最终将重定向用户。

也许尝试在客户端使用 LocalCursor.observeChanges

Meteor.startup(() => {
  MyCollection.find('DocumentMongoDBID').observeChanges({
    removed(){
      // redirect the user
      Router.go(...);
    }
  });
});

https://docs.meteor.com/#/full/observe_changes