Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Meteor中从复杂的MongoDB查询中呈现模板?_Javascript_Mongodb_Meteor_Handlebars.js - Fatal编程技术网

Javascript 在Meteor中从复杂的MongoDB查询中呈现模板?

Javascript 在Meteor中从复杂的MongoDB查询中呈现模板?,javascript,mongodb,meteor,handlebars.js,Javascript,Mongodb,Meteor,Handlebars.js,我为这个粗略的问题道歉,但我不确定使用meteor、mongo和Handlebar组合的最佳实践是什么 我明白减少车把的逻辑性的意义,虽然我在翡翠中会更舒服,但我还是保留了车把以支持原生流星。然而,我真的不知道将数据分配给模板的最佳方式可能是什么 这尤其适用于我需要访问多个集合并通过Id访问另一个集合中另一个文档引用的文档的情况,或者我需要使用通常从for循环提供的索引变量的情况。保留Meteor的自动更新功能似乎增加了一点复杂性 我想,以问题的形式: 我是否应该进行复杂查询,将所有查询合并到一

我为这个粗略的问题道歉,但我不确定使用meteor、mongo和Handlebar组合的最佳实践是什么

我明白减少车把的逻辑性的意义,虽然我在翡翠中会更舒服,但我还是保留了车把以支持原生流星。然而,我真的不知道将数据分配给模板的最佳方式可能是什么

这尤其适用于我需要访问多个集合并通过Id访问另一个集合中另一个文档引用的文档的情况,或者我需要使用通常从for循环提供的索引变量的情况。保留Meteor的自动更新功能似乎增加了一点复杂性

我想,以问题的形式:

我是否应该进行复杂查询,将所有查询合并到一个对象数组中,以便嵌套所有相关数据,为每个查询添加一个索引变量,并使该数组可用于在模板中循环

-或-

我是否应该在每个模板的控制器中进行每个db查询,然后尝试将数据分解为最简单的形式,并向模板发送多组数据


我真的很感激任何能引导我走向正确方向的答案。

我建议第二种选择。可能最简单的方法,很好地发挥了反应性,如下所示

假设你有一个博客,里面有文章、评论和Meteor.users集合,它们以一种可预测的方式相互关联——也就是说,评论有articleId和userId字段。让文章和评论都有一个内容字段。您可以使用以下模板显示它:

<template name="article">
    {{#with article}}
        {{content}}
        {{#each comments}}
            {{content}} - {{username}}
        {{/each}}
    {{/with}}
</template>

我建议第二种选择。可能最简单的方法,很好地发挥了反应性,如下所示

假设你有一个博客,里面有文章、评论和Meteor.users集合,它们以一种可预测的方式相互关联——也就是说,评论有articleId和userId字段。让文章和评论都有一个内容字段。您可以使用以下模板显示它:

<template name="article">
    {{#with article}}
        {{content}}
        {{#each comments}}
            {{content}} - {{username}}
        {{/each}}
    {{/with}}
</template>

所以,为了松散地调整博客示例,如果需要在一个页面上显示多篇文章及其评论,您会怎么做?你会对同一篇文章进行多次迭代吗?如何传递ID?在模板中,替换为。在article helper中,用find{u id:{$In:[id1,id2,id3]}替换findOnearticleId。因此,为了松散地调整博客示例,如果需要在一个页面上显示多篇文章及其评论,您会怎么做?你会对同一篇文章进行多次迭代吗?如何传递ID?在模板中,替换为。在文章helper中,用find{u id:{$In:[id1,id2,id3]}替换findOnearticleId。