【发布时间】:2013-11-11 18:41:50
【问题描述】:
我正在尝试从集合中加载最新帖子,同时加载同一帖子的所有 cmets。该集合具有引用,而不是将整个文档存储在彼此内部:
Post { title, body, etc..}
Comment { postId, body, etc.. }
我使用 iron-router 作为路由包,在我的页面路由中我是这样订阅的:
this.route('home', {
path: '/',
template: 'home',
waitOn: function () {
return [
Meteor.subscribe('latestPost'),
Meteor.subscribe('lastReadPost')
];
}
});
检索帖子的代码很简单:
Posts.findOne({}, {sort:{createdAt:-1, limit:1}});
现在的问题是我不知道如何在不阅读整个集合的情况下检索 cmets。我无法在路由器中订阅,因为我仍然没有帖子 ID 来查询评论集合。 我猜我可以从模板中做到这一点,但当然,如果我查询评论集合,它仍然是空的。但我确实有 postId,因为它当时在 Posts 集合中。但我需要从模板触发订阅,这听起来不是一个干净的解决方案。
最佳做法是什么?谢谢!
【问题讨论】: