如何查找插入流星集合的数据?

时间:2016-06-19 17:52:34

标签: meteor publish-subscribe

我订阅了客户订阅。在集合上的新插入之后,只需重定向到该插入集合的查看页面。

使用服务器上的'postDetail'集合进行发布

Meteor.publish('postDetail', (postId: string) => {
    return PostCollection.find({ _id: postId });
});

插入页面:

collection.insert(this.currentPost, (error, postId) => {

            if (postId) {
                this.router.navigate(['detail', { postId: postId }]);
            }
            else {

            }
        });

在查看页面中:

 this.subscribe('postDetail', this.postId, () => {
    collection.findOne({ _id: this.postId}); 
    **// this is not giving the inserted data at first time**
  });

1 个答案:

答案 0 :(得分:0)

查看您的订阅,您正在使用this.subscribe(),它看起来像模板级订阅。当模板被销毁(不再渲染)时,将删除此订阅。

因此,如果您在插入后重新路由到其他模板,则还需要在该模板中重新订阅。

(Meteor非常聪明,可以保留两个订阅之间的缓存数据,因此第二个订阅速度非常快。但您仍然必须这样做。)