"where" 模板助手中的子句

"where" clause in template helper

首先大家好,

我是 Meteor 的新手,只是一个爱好开发者。在过去的几天里,一些我确信非常简单的事情一直困扰着我,我将尝试通过一个简单的例子来解释我的问题。

让我们考虑一个在线论坛,其中我有论坛类别,每个类别中都有一个更多论坛。

我希望模板中的最终结果类似于:

{{#each category}}
  {{#each forum where forum.category=category}}
    {{nameForum}}
  {{/each}}
{{each}}

这将列出类别以及其中每个类别的不同论坛。

我的问题是: 解决此类问题的最佳方法是什么?意义: 论坛应该是模式中类别的子元素,但 shcema 似乎有点复杂。 论坛和类别应该分开架构但在同一个集合中但是我怎么能在模板中做到这一点 "where" ? 我在这个问题上的方法是否完全愚蠢,我错过了教程中的某些内容?

预先感谢您的回复。

伊沃

做这样的事情

myTemplate.html

{{#each getCategories}}
  {{#each getForum categoryName}}  // Assuming that in your category db you have categoryName field
    {{nameForum}}
  {{/each}}
{{each}}

myTemplate.js

Template.myTemplate.helpers({
    getCategories: function() {
        return Category.find({});
    },
    getForum: function(category) {
        return Forum.find({"category": category});
    }
})

基本上,您将检索论坛的逻辑移到模板助手中