Meteor:操作模板数据
Meteor: Manipulate Template Data
这是一个 Meteor/Blaze 问题。
我有一个名为 Lists 的 Mongo 集合,其中包含 postId 列表,我想查询并填充来自另一个名为 Posts 的集合的数据。
架构
Posts: [{
_id: String,
// post data, I want to access this from a repeated list
}]
Lists: [{
_id: String,
posts: [String] // of ids
}]
列表模板:
{{#if posts}} /// referring to List.posts
<div class="list-posts">
<ul>
{{#each posts}}
// here I would like query for the corresponding Posts data
{{/each}}
</ul>
</div>
{{/if}}
我不确定如何使用 Meteor 执行此操作。模板助手?
一个优雅的解决方案是使用流行的 dburles:collection-helpers
包:
Lists.helpers({
posts: function(){
return Posts.find({
_id: {
// I suggest renaming your Lists.posts field to Lists.postIds.
$in: this.postsIds
}
});
}
});
然后您必须确保相应的帖子与您的列表一起发布,并且您将能够像在伪代码中一样使用 {{#each posts}}
。
这是一个 Meteor/Blaze 问题。
我有一个名为 Lists 的 Mongo 集合,其中包含 postId 列表,我想查询并填充来自另一个名为 Posts 的集合的数据。
架构
Posts: [{
_id: String,
// post data, I want to access this from a repeated list
}]
Lists: [{
_id: String,
posts: [String] // of ids
}]
列表模板:
{{#if posts}} /// referring to List.posts
<div class="list-posts">
<ul>
{{#each posts}}
// here I would like query for the corresponding Posts data
{{/each}}
</ul>
</div>
{{/if}}
我不确定如何使用 Meteor 执行此操作。模板助手?
一个优雅的解决方案是使用流行的 dburles:collection-helpers
包:
Lists.helpers({
posts: function(){
return Posts.find({
_id: {
// I suggest renaming your Lists.posts field to Lists.postIds.
$in: this.postsIds
}
});
}
});
然后您必须确保相应的帖子与您的列表一起发布,并且您将能够像在伪代码中一样使用 {{#each posts}}
。